java File.separator 簡介
在Windows下的路徑分隔符和Linux下的路徑分隔符是不一樣的,當直接使用絕對路徑時,跨平臺會暴出“No such file or diretory”的異常。
比如說要在temp目錄下建立一個test.txt文件,在Windows下應該這麽寫:
File file1 = new File ("C:\tmp\test.txt");
在linux下則是這樣的:
File file2 = new File ("/tmp/test.txt");
如果要考慮跨平臺,則最好是這麽寫:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");
File類有幾個類似separator的靜態字段,都是與系統相關的,在編程時應盡量使用。
separatorChar
public static final char separatorChar
與系統有關的默認名稱分隔符。此字段被初始化為包含系統屬性 file.separator 值的第一個字符。在 UNIX 系統上,此字段的值為 ‘/‘;在 Microsoft Windows 系統上,它為 ‘\‘。
separator
public static final String separator
與系統有關的默認名稱分隔符,為了方便,它被表示為一個字符串。此字符串只包含一個字符,即 separatorChar。
pathSeparatorChar
public static final char pathSeparatorChar
與系統有關的路徑分隔符。此字段被初始為包含系統屬性 path.separator 值的第一個字符。此字符用於分隔以路徑列表 形式給定的文件序列中的文件名。在 UNIX 系統上,此字段為 ‘:‘;在 Microsoft Windows 系統上,它為 ‘;‘。
pathSeparator
public static final String pathSeparator
與系統有關的路徑分隔符,為了方便,它被表示為一個字符串。此字符串只包含一個字符,即 pathSeparatorChar。
java File.separator 簡介