在Windows下的路徑分隔符和Linux下的路徑分隔符是不一樣的试溯,當直接使用絕對路徑時蔑滓,跨平臺會暴出“No such file or diretory”的異常。
在windows中的文件分隔符是" \ "和" /"都可以,但是在Linux中遇绞,文件分隔符只能是"/"键袱。
而java.io.File.separator是系統(tǒng)默認的文件分割符號,屏蔽了這些系統(tǒng)的區(qū)別摹闽。用File.separator保證了在任何系統(tǒng)下不會出錯杠纵。
例如:
說要在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");