2010-12-06 113 views
10

我正在製作一個基本的文件瀏覽器,並且想知道如何獲取默認根目錄。我知道java.io.File.listRoots()給出了所有的根(對我來說它是A:\, C:\, D:\, E:\, F:\, G:\, H:\, I:\, L:\ T:\, U:\, X:\, Y:\, Z:\),但我想要用戶主要使用的那個(即操作系統上的那個),所以我知道從哪裏開始瀏覽。獲取Java中的默認根目錄

回答

2

獲取操作系統的根分區僅在Windows的事情,因爲在Unix它總是/

因此,下面的代碼工作只有Windows

System.getenv("SystemDrive"); 

它得到了SystemDrive環境變量的值。這應該總是返回操作系統的根分區,例如C:

15

不知道這是任何幫助,但你可以嘗試:

import javax.swing.filechooser.*; 

FileSystemView.getFileSystemView().getRoots()[0]; 

FileSystemView.getFileSystemView().getHomeDirectory(); 

System.getProperty("user.dir"); 

對於最後一個片段中,你可以得到根目錄通過使用getParent()向上導航直到返回null

+0

鏈接既破 – IanGilham 2014-12-05 11:45:05

+0

@IanGilham我想你打算評論另一個答案 – Supuhstar 2014-12-05 16:55:40

0
public static String rootDirectory(){ 
     return File.listRoots()[0].getAbsolutePath(); 
}