2012-10-20 56 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")); 
} 
} 
相关问题