在Windows下的路徑分隔符和Linux下的路徑分隔符是不一樣的,當直接使用絕對路徑時,跨平臺會暴出“No such file or diretory”的異常。
在windows中的文件分隔符是" \ "和" /"都可以,但是在Linux中,文件分隔符只能是"/"。
而java.io.File.separator是系統默認的文件分割符號,屏蔽了這些系統的區別。用File.separator保證了在任何系統下不會出錯。
例如:
說要在tmp目錄下建立一個test.txt文件
在Windows下應該這么寫:
File file1 = new File ("C:\tmp\test.txt"); 或者 File file2 = new File ("C:/tmp/test.txt");
在Linux下則是這樣的:
File file2 = new File ("C:/tmp/test.txt");
如果要考慮跨平臺,則最好是這么寫:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");