获得的相对路径

说明:相对路径(这并不说明什么时候相对谁)可以通过以下来获得(无论是一般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();

}

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐