得到JAVA项目根文件夹

获得的相对路径

说明:相对路径(这并不说明什么时候相对谁)可以通过以下来获得(无论是一般java项目或web工程)

String path = System.getProperty("user.dir");

E:githubJ2SE

上述相对路径中,java项目中的文件是相对于项目的根文件夹
web项目中的文件路径 视不同的webserver不同而不同(tomcat是相对于 tomcat安装文件夹in)



类载入文件夹的获得(即当执行时某一类时获得其装载文件夹)
通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级文件夹)

String path = getClass().getClassLoader().getResource("logback.xml").getPath();

/E:/github/J2SE/target/classes/logback.xml

通用方法二 
String path = getClass().getResource("/logback.xml").getPath();

/E:/github/J2SE/target/classes/logback.xml

此方法必须以'/'开头


web项目根文件夹的获得(公布之后)

request.getRealPath("/") 这种方法已经不推荐使用了,想必我们在使用的过程中已经注意到了。


它的替代方法例如以下:

String path = request.getSession().getServletContext().getRealPath("/upload");

E:Apache-tomcatapache-tomcat-7.0.53wtpwebappsStruts2upload

String path = request.getSession().getServletContext().getRealPath("");

E:Apache-tomcatapache-tomcat-7.0.53wtpwebappsStruts2

这里我们得注意一个细节,參数里假设放置參数那么,终于路径处于追加的状态

这点还是非常受用的,我们能够直接返回详细目录的路径。假设没有该路径就创建一个

String path = request.getSession().getServletContext().getRealPath("/upload");
//假设上传文件夹不存在
File dirFile = new File(path);
if (!dirFile.exists()) 
{   
     dirFile.mkdir();   
}


版权声明:本文博主原创文章,博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/yxwkf/p/4835945.html