Java 我能知道文件是不是文件夹吗?

Java 我能知道文件是不是文件夹吗?,java,file,bufferedreader,filenotfoundexception,Java,File,Bufferedreader,Filenotfoundexception,我有一个字符串数组,其中包含路径的文件(文件和文件夹)列表: File directory = new File(path); String[] fileNames = directory.list(); 当我尝试读取文件内容时: for (int i = 0; i < fileNames.length; i++) { try { BufferedReader br = new BufferedReader(new InputStreamReader(

我有一个字符串数组,其中包含路径的文件(文件和文件夹)列表:

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"));
for(int i=0;i
如果文件是文件夹,我会得到一个FileNotFoundException。 以前我如何知道文件名是否属于文件夹。可能是根据文件的大小来确定的?

文件。isDirectory()
是您要查找的。

您可以使用该方法来测试
文件是否是
目录

File file = new File("test");
System.out.println(file.isDirectory());
或者,您可以改为使用方法。它只返回目录中的
文件
。这样,您就不必检查
文件
是否为
目录

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

您可以使用
文件

您可以这样使用您的代码

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"));
}
}
for(int i=0;i