①文件分割符:在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/ ---------------------------------