如何在文件夹中读取BufferedReader()类?

时间:2014-07-30 13:52:27

标签: java bufferedreader

我正在尝试使用Java读取和显示特定文件夹中的一组txt文件的内容。我遇到了与BufferedRead类一致的错误。我做错了什么?

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;

public class DirectoryShow {

    public static void main(String[] args) throws IOException {

        File f = new File("D:\\Files"); // current directory

        File[] files = f.listFiles();
        for (File file : files) {
            BufferedReader br = new BufferedReader("D:\\Files");
             String line = null;
             while ((line = br.readLine()) != null) {
               System.out.println(line);
             }
            System.out.print("     file:");
            System.out.println(file.getCanonicalPath());
        }

    }

}

2 个答案:

答案 0 :(得分:2)

有两个错误:

首先是你写的地方

BufferedReader br = new BufferedReader("D:\\Files");

没有指定单个文件;你可能意味着

new BufferedReader(new InputStreamReader(new FileInputStream(file)));

第二个错误是文件夹中的每个文件都不是文件,可以读取等等。在设计良好的应用程序中,你应该检查这些文件。

答案 1 :(得分:1)

public class DirectoryShow {

public static void main(String[] args) throws IOException {

    File f = new File("D:\\Files"); // current directory

    File[] files = f.listFiles();
    for (File file : files) {
        BufferedReader br = new BufferedReader(new InputstreamReader(new FileInpupStream(file)));
         String line = null;
         while ((line = br.readLine()) != null) {
           System.out.println(line);
         }
        br.close();
        System.out.print("     file:");
        System.out.println(file.getCanonicalPath());
    }

}

}