您现在的位置是:首页 > 文章详情

Java获取Window和Linux系统的项目ClassPath路径

日期:2018-06-05点击:604

不啰嗦,直接复制工具类

/** * 在windows和linux系统下均可正常使用 * Create by yster@foxmail.com 2018/6/6/006 14:51 */ public class ProjectPath { //获取项目的根路径 public final static String classPath; static { //获取的是classpath路径,适用于读取resources下资源 classPath = Thread.currentThread().getContextClassLoader().getResource("").getPath(); } /** * 项目根目录 */ public static String getRootPath() { return RootPath(""); } /** * 自定义追加路径 */ public static String getRootPath(String u_path) { return RootPath("/" + u_path); } /** * 私有处理方法 */ private static String RootPath(String u_path) { String rootPath = ""; //windows下 if ("\\".equals(File.separator)) { //System.out.println(classPath); rootPath = classPath + u_path; rootPath = rootPath.replaceAll("/", "\\\\"); if (rootPath.substring(0, 1).equals("\\")) { rootPath = rootPath.substring(1); } } //linux下 if ("/".equals(File.separator)) { //System.out.println(classPath); rootPath = classPath + u_path; rootPath = rootPath.replaceAll("\\\\", "/"); } return rootPath; } //更多扩展方法任你发挥 } 

使用方法

//自定义追加路径并格式化 System.out.println(ProjectPath.getRootPath("userImg/test.txt")); //获取根目录 System.out.println(ProjectPath.getRootPath());

注意

在使用System.getProperty("user.dir")时:

如果是在IDE中启动,则获得的路径为D:\xxxx\projectName,包括项目名;

如果是以Jar包方式启动,得到该jar包所在的路径。如project.jar在D:\xxxx下,获得的路径就是D:\xxxx

但是如果是以war包方式启动获得的是:D:\apache-tomcat-9.0.7\bin

所以此方法适合不依赖Tomcat容器(或者内嵌Tomcat如SpringBoot)的项目。


原文链接:https://yq.aliyun.com/articles/629703
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章