在Java软件开发中,经常遇到一些路径上的疑问,特此记录,以便下一次可以方便查找。
路径分绝对路径和相对路径,两者的区别从字面上不言而喻,现记录Java中5种获取相对路径或绝对路径的方式。
场景:
获取当前工程的根路径:
System.getProperty( "user.dir" )
得到类路径和包路径:
System.getProperty(“java.class.path”);
获取类的加载路径(class文件所在路径):
类名.class.getResource(“”).getPath()
获取类的加载根路径(classes路径):
类名.class.getResource(“/”).getPath()
遇到的关于路径的场景:
上图是在一个Java Web工程中,util包中的CommonUtil.java文件要使用resouce文件夹下的sliceProject.properties,具体代码如下:
String path = CommonUtil.class.getResource(".." + File.separator + ".." + File.separator + ".." + File.separator + "sliceProject.properties").getPath();
path返回的就是sliceProject.properties的绝对路径。
该方法是通过相对于CommonUtil类的方式获取文件的路径。