Java程序的路徑分隔符

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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • I/O的學習之字節流 今天的主要內容 File類的使用File類概述和構造方法File類的創建功能File類的重命...
    須臾之北閱讀 430評論 0 0
  • 用JAVA獲取文件,聽似簡單,但對于很多像我這樣的新人來說,還是掌握頗淺,用起來感覺頗深,大常最經常用的,就是用J...
    happy1991閱讀 497評論 0 0
  • 基本命令-2 壓縮和歸檔 打包: 即歸檔,類似于旅游之前收拾行李 壓縮: 為了減少占用的磁盤空間,可以做備...
    崔千易閱讀 958評論 0 0
  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,435評論 0 5
  • 序列化是一種對象持久化的手段。普遍應用在網絡傳輸、RPC、RMI等場景中。序列化有多種協議(如Thrift、pro...
    jiangmo閱讀 1,257評論 0 10