从目录中逐行读取多个文本文件JAVA

时间:2013-09-25 01:27:42

标签: java file text directory

有人能举例说明如何在文本文件目录中读取并使用Java逐行读取每个文本文件吗?

到目前为止,我有:

    String files;
    File folder = new File(file_path);
    File[] listOfFiles = folder.listFiles(); 

       for (int i = 0; i < listOfFiles.length; i++) {

       if (listOfFiles[i].isFile())  {

                // do something here??
            }
      }

2 个答案:

答案 0 :(得分:6)

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


public class MyProg {

    public static void main(String[] args) throws IOException {
        String target_dir = "./test_dir";
        File dir = new File(target_dir);
        File[] files = dir.listFiles();

        for (File f : files) {
            if(f.isFile()) {
                BufferedReader inputStream = null;

                try {
                    inputStream = new BufferedReader(
                                    new FileReader(f));
                    String line;

                    while ((line = inputStream.readLine()) != null) {
                        System.out.println(line);
                    }
                }
                finally {
                    if (inputStream != null) {
                        inputStream.close();
                    }
                }
            }
        }
    }

}

答案 1 :(得分:1)

在Java javadocs中,查找FileReader,然后查找BufferedReader - 第一个读取文件,第二个读取器作为构造函数参数,并具有readline()方法。

我同意这是一个糟糕的问题,但如果没有一些指导,文件I / O很难辨别,而且教程经常花费太多时间来处理你不需要的东西。你仍然可以阅读本教程,但这将使你开始为此目的。