欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中各种路径写法总结

程序员文章站 2022-05-09 23:48:04
...

这是我自己总结的,也写过代码实验过的,大家可以参考一下,要是发现什么错误或者需要补充的,还请大佬们指出来,非常感谢.

路径

绝对路径: 以 " / " 开头
相对路径: 以 " ./ " 开头,或开头什么都不写
" . . / ":上一级目录

File类中路径写法

File file = new File(路径);

绝对路径 “/” 代表在当前所在的盘符下
如果你的项目在D盘下,那 / 就代表D://

相对路径 "./"代表在当前项目下的第一层 和src目录是同级的

web中ServletContext.getRealPath(路径)

该方法用来获取文件的真实(服务器)路径
绝对路径 “/” 是wab的根目录下 即web下 和WEB-INF是同级的
web下资源
ServletContext.getRealPath("/a.txt") ;
WEB-INF下资源
ServletContext.getRealPath("/WEB-INF/b.txt") ;
src下资源
ServletContext.getRealPath("/WEB-INF/classes/c.txt") ;

类加载器 加载资源的路径

this.getClass().getResource(String)
这里的"./"开头的路径是该类所在目录; this.getClass() 说明了一切!!

找到类,就找文件;很显然和类同一目录下
如果是在静态方法里,可以使用     类名.Class.getResource()

this.getClass().getClassLoader().getResource(String)
这里的"./"开头的路径就是src或main下的 或者编译好的classes 的,getClassLoader()说明了一切

找到类,还得找到类的加载器,再找文件;很显然在根目录下

参考资料:
https://www.cnblogs.com/yadongliang/p/7920053.html
http://xixinfei.iteye.com/blog/1256291

一点补充

在web项目中classPath即web/classes  (classes目录下和src目录下的结构相同)
用maven构建项目的时候,classpath即src/main/下的resources、java和webapp
相关标签: 路径 java