關於Java的File.separator

File file=new File(); 這句是新建一個文件。
file.separator這個表明系統目錄中的間隔符,說白了就是斜線,不過有時候須要雙線,有時候是單線,你用這個靜態變量就解決兼容問題了。linux

 

在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");.net

若是要考慮跨平臺,則最好是這麼寫:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");字符串

File類有幾個相似separator的靜態字段,都是與系統相關的,在編程時應儘可能使用。get

separatorCharit

public static final char separatorCharclass

與系統有關的默認名稱分隔符。此字段被初始化爲包含系統屬性 file.separator 值的第一個字符。在 UNIX 系統上,此字段的值爲 '/';在 Microsoft Windows 系統上,它爲 '\'。test

separator變量

public static final String separatorfile

與系統有關的默認名稱分隔符,爲了方便,它被表示爲一個字符串。此字符串只包含一個字符,即 separatorChar。

pathSeparatorChar

public static final char pathSeparatorChar

與系統有關的路徑分隔符。此字段被初始爲包含系統屬性 path.separator 值的第一個字符。此字符用於分隔以路徑列表 形式給定的文件序列中的文件名。在 UNIX 系統上,此字段爲 ':';在 Microsoft Windows 系統上,它爲 ';'。

pathSeparator

public static final String pathSeparator

與系統有關的路徑分隔符,爲了方便,它被表示爲一個字符串。此字符串只包含一個字符,即 pathSeparatorChar。

相關文章
相關標籤/搜索