①文件分割符:在Windows中文件分隔符是 \,在linux和unix中文件分隔符是/。实际写时可以把分隔符用File.separator代替。
同时,需要注意的是,在Windows中直接写\是不行的,因为\本身是需要转义的。
同时,需要注意的是,在Windows中分隔符写成/也是可以的,程序能正常找到路径。
②工程路径、类路径:
可以使用System.getProperty("user.dir")来获取工程路径,或者在默认情况下,就是说new File("")就表示在工程路径下。
类路径,表示当前类的路径:
System.out.println(PathDemo.class.getResource("/").getPath());
System.out.println(PathDemo.class.getResource("").getPath());
这里用getPath可以获得类路径,当什么都不写时,就是PathDemo.class的当前类路径,当带上/时,就表示这是一个绝对路径,寻找到的是类路径的根目录。
③Java中/表示根目录,不管是在什么系统上。
④经常看到类似"resoueces/js/Myjs.js"这样的路径表示,这就表示一个相对路径。表示在当前目录下找resources目录,然后在resources目录下找js目录。
注意:一般情况下,当前路径是工程路径。
public class PathDemo { public PathDemo() { } public static void main(String[] args) throws IOException { File file = new File("resources/txt.txt"); System.out.println(file.getPath()); System.out.println(file.getAbsolutePath()); System.out.println(file.getCanonicalFile()); System.out.println(System.getProperty("user.dir")); System.out.println("-------------------------------------"); File file2 = new File("./resources/txt2.txt"); System.out.println(file2.getPath()); System.out.println(file2.getAbsolutePath()); System.out.println(file2.getCanonicalFile()); System.out.println(System.getProperty("user.dir")); System.out.println("------------------------------------"); File file3 = new File(""); System.out.println(file3.getPath()); System.out.println(file3.getAbsolutePath()); System.out.println(file3.getCanonicalFile()); System.out.println(System.getProperty("user.dir")); System.out.println("---------------------------------"); System.out.println(PathDemo.class.getResource("").getPath()); System.out.println(PathDemo.class.getResource("/").getPath()); System.out.println("---------------------------------"); } }
resources\txt.txt D:\workspace\java测试环境\java测试\resources\txt.txt D:\workspace\java测试环境\java测试\resources\txt.txt D:\workspace\java测试环境\java测试 ------------------------------------- .\resources\txt2.txt D:\workspace\java测试环境\java测试\.\resources\txt2.txt D:\workspace\java测试环境\java测试\resources\txt2.txt D:\workspace\java测试环境\java测试 ------------------------------------ D:\workspace\java测试环境\java测试 D:\workspace\java测试环境\java测试 D:\workspace\java测试环境\java测试 --------------------------------- /D:/workspace/java%e6%b5%8b%e8%af%95%e7%8e%af%e5%a2%83/java%e6%b5%8b%e8%af%95/bin/wuxin/path/ /D:/workspace/java%e6%b5%8b%e8%af%95%e7%8e%af%e5%a2%83/java%e6%b5%8b%e8%af%95/bin/ ---------------------------------