2013-07-13 33 views
1

我有一個java.io.File對象,我不知道它與哪個對應。使用isDirectory()方法,我們可以檢查它是否是一個目錄。一個普通的文件夾和一個驅動器都會在撥打isDirectory()後返回true如何知道文件是代表根還是我的電腦?

如何檢查File對象是驅動器還是我的電腦?

回答

3

有兩種方式,一種是

File f=new File("C:\\"); 
if(f.toPath().getNameCount()==0) System.out.println(f+" is root"); 

getNameCount()方法返回無。的給定File

toPath()方法返回java.nio.file.Path對象爲f。還有一件事,你甚至不需要在這裏輸入java.nio.file包。

例如,如果f=new File("C:\\Program Files");那麼這因爲只有一個根是C:\\

驅動得到的名稱計數返回1 0

我的電腦不能表示爲File目的。如果你嘗試這樣做,

File f=new File("C:\\").getParentFile();null

另一種方式是(我不推薦)。在這裏我們將不得不使用循環,從性能的角度來看,它會降低性能,同時這也很漫長。

File[] files=File.listRoots(); 
for(int i=0;i<files.length;i++) 
{ 
    if(files[i].equals(f)){ 
    System.out.println(f+" is root"); 
    break; 
    } 
} 
相關問題