天天看點

[Java.File]如果寫 File filesFolder = new File(

首先這段代碼在unix/linux系統上會去找根路徑,但在windows系統上會去找c:盤還是d:盤還是其它盤呢?

其實它會去找user.dir所在盤符的根目錄,user.dir即使用者的目前工作目錄,也就是你跑java程式所在的目錄,那麼你跑java程式所在路徑的根盤符就是"/"指代的位置.

另外,由于\\ 和/ 在windows系統中的等效性,new file("\\")也會找到同一個盤符.

驗證程式如下:

輸出:

大家可以把這段程式分别放到c:,d:,e:盤跑一下,看看和我所說的是否一緻.

這種寫法有一個明顯的好處是如果windows系統程式運作所在盤下有和unix/linux下同樣的路徑,比如程式在d:盤下跑,資料檔案在d:/usr/data/abc下,unix下也有/usr/data/abc路徑,那麼路徑部分不需修改就可直接使用了.

--end-- 2019-11-29 15:33