获得的相对路径
说明:相对路径(这并不说明什么时候相对谁)可以通过以下来获得(无论是一般java项目或web工程)
String path = System.getProperty("user.dir");
E:\github\J2SE
上述相对路径中,java项目中的文件是相对于项目的根文件夹
web项目中的文件路径 视不同的webserver不同而不同(tomcat是相对于 tomcat安装文件夹\bin)
类载入文件夹的获得(即当执行时某一类时获得其装载文件夹)
通用的方法一(不论是一般的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-tomcat\apache-tomcat-7.0.53\wtpwebapps\Struts2\upload
String path = request.getSession().getServletContext().getRealPath("");
E:\Apache-tomcat\apache-tomcat-7.0.53\wtpwebapps\Struts2
这里我们得注意一个细节,參数里假设放置參数那么,终于路径处于追加的状态
这点还是非常受用的,我们能够直接返回详细目录的路径。假设没有该路径就创建一个
String path = request.getSession().getServletContext().getRealPath("/upload");
//假设上传文件夹不存在
File dirFile = new File(path);
if (!dirFile.exists())
{
dirFile.mkdir();
}
版权声明:本文博主原创文章,博客,未经同意不得转载。