java 路徑分隔符File.separator 以及 路徑兩種寫法"/"和"\\"


 

一、File.separator

File file=new File(); 這句是新建一個文件。
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






二、路徑兩種寫法"/"和"\\"
1.示例:

String path="D:\\新建文件夾\\2.png";    

File file=new File(path);    

System.out.println(file.exists());      

String path1="D:/新建文件夾/2.png";    

File file1=new File(path);    

System.out.println(file1.getAbsolutePath());     

System.out.println(file1.getCanonicalPath());   



2.
具體使用中都可以達到訪問路徑的效果,只不過有一點小區別 正斜杠的話,一般在配置文件路徑時,指向下一個路徑只要使用一個 例如:"c:/a/1.txt"; 而反斜杠的話,在配置文件路徑時,由於它本身在java中有特殊意義,作為轉義符而存在,所以具體意義上的反斜杠要兩個 例如:"c\\a\\1.txt";這里的第一個反斜杠是作為轉義符存在的,第二個才是真正意義上的反斜杠
 
        
一般可以認為是"/"的作用等同於"\\"
在java中路徑一般用"/"
windows中的路徑一般用"\"
linux、unix中的路徑一般用"/"
最好用“/”  因為java是跨平台的。“\”(在java代碼里應該是\\)是windows環境下的路徑分隔符,Linux和Unix下都是用“/”。而在windows下也能識別“/”。所以最好用“/”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM