java - 我可以知道文件是否是文件夹吗?

标签 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(
           new FileInputStream(path + "\\" + fileNames[i]), "UTF-8"));

如果文件是文件夹,我会收到 FileNotFoundException。 我之前如何知道文件名是否属于文件夹。也许是文件的大小?

最佳答案

您可以使用File#isDirectory测试文件是否是目录的方法。

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

或者,您可以使用File#listFiles方法代替。它仅返回目录内的文件。这样,您就不必检查您的文件是否是目录

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

关于java - 我可以知道文件是否是文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986686/

相关文章:

java - 有没有办法将 JAX-RS 注释接口(interface)与 Jersey 作为客户端一起使用?

java - 修改 Enunciate 生成的配置文件以使用 CXF 的最新 jackson 库

java - 如何在 javafx TreeView 中使某些节点变为粗体?

ruby - 如何删除 Ruby 文件的最后一行?

android - 将输入流转换为文件android

Java BufferedReader while循环越界异常

java - Android 在 onClick AlertDialog 中丢失引用

c++ - 一次读取完整文件是个好主意吗?

java - 从 BufferedReader 读取字符串数组

java - 如何更快地阅读 BufferedReader