2012-10-20 82 views
0

我有文件的路徑(文件和文件夾)的列表中的String數組:我可以知道一個文件是否是一個文件夾?

File directory = new File(path); 
String[] fileNames = directory.list(); 

當我嘗試讀取文件內容:

for (int i = 0; i < fileNames.length; i++) { 
    try { 
     BufferedReader br = new BufferedReader(new InputStreamReader(
      new FileInputStream(path + "\\" + fileNames[i]), "UTF-8")); 

如果該文件是一個文件夾我得到一個FileNotFoundException。 如何知道文件名是否屬於某個文件夾。也許是由文件的大小?

回答

4

您可以使用File#isDirectory方法來測試file是否爲directory

File file = new File("test"); 
System.out.println(file.isDirectory()); 

或者,您也可以使用File#listFiles方法。它僅在目錄內返回files。這樣,你不必檢查你的file是不是directory

File directory = new File(path); 
String[] fileNames = directory.listFiles(); 
3

file.isDirectory()是你在找什麼。

1

您可以使用這樣的代碼

for (int i = 0; i < fileNames.length; i++) { 
     if(fileNames[i].isFile()){ 
     BufferedReader br = new BufferedReader(new InputStreamReader(
      new FileInputStream(path + "\\" + fileNames[i]), "UTF-8")); 
} 
} 
相關問題