來源於:http://blog.csdn.net/u011479200/article/details/69062343
在Java的實際開發中,經常會遇填寫一個文件的相對路徑或者是絕對路徑的問題,對於初學者來說,經常犯難的是到底是用\ 還是用/的問題,本文將徹底解決這個問題的困擾.
先來看要下路徑符號在windows系統和再Linux系統寫的顯示使用的區別:
Windows下的路徑:
Linux下的路徑: 
對比可以發現:windows使用的是\ linux使用的是/
然而在java的代碼開發中\是代表轉義字符的,/才是代表路徑符號,也就是說java代碼中的路徑符號與linux下的顯示路徑符號是一致的.相反在windows下的顯示是恰好與java代碼中的路徑符號是相反的.
當然在java代碼中開發時是可以使用轉義字符來處理路徑符號的: String path = "D:\ProgramFiles"; 錯 String path = "D:\\ProgramFiles"; 正確,用了轉義符號
同樣是也還是你可以直接使用路徑符號來表達的: String path = "D:/ProgramFiles"; 正確,路徑符號不需要轉義
另外需要注意的是Java的轉義字符\的轉義並不是什么都需要轉義,什么都可以轉義,它只支持一下轉義: \b \t \n \f \r \" \' \\
下面是同一段代碼在windows環境和linux環境運行對比:
源碼:
public class Test { public static void main(String[] args) { // System.out.println("D:\ProgramFiles");//報錯,轉義符號要接待轉義的字符 System.out.println("D:/ProgramFiles"); System.out.println("D:\\ProgramFiles");// 轉義后 System.out.println("D://ProgramFiles"); } }
結果對比:
對比發現編譯后顯示是沒有區別的,主要區別還是在操作系統對路徑符號的使用區別.
建議:
- 考慮的項目的運行環境可能是Linux,也肯能是windows,這里建議大家使用轉義的方式來表達路徑:
String path ="D:\\ProgramFiles";
