【问题标题】:read multiple data in multiple files读取多个文件中的多个数据
【发布时间】:2026-01-10 20:45:01
【问题描述】:

我在目录 C:\Users\Mahady\Desktop\Java 31122011\src\register\ 中有一个文件列表

他们是这样的......

100100545.txt

100545454.txt 等

在每个文件中,文件数据是这样一行一行的:

鲍勃

1234

4834

伦敦

9852

1

我的问题是,我如何在目录中逐个读取每个文件,并为每个文件读取除第 3 行之外的所有行。然后我想将这些数据合并到 word 中并创建字母。谢谢

【问题讨论】:

  • 你试过什么?如果我为你做,我能得到你的薪水吗?阅读 IO 教程怎么样? docs.oracle.com/javase/tutorial/essential/io
  • 我想知道如果您想要的是 Word 合并,那么简单地使用 MS Word 中可用的脚本工具是否会更好。 Visual Basic for Applications 随 Word 一起提供,对于此类文档和数据操作来说非常强大。

标签: java io


【解决方案1】:

试试这个:

File dir = new File("C:\\Users\\Mahady\\Desktop\\Java 31122011\\src\\register\\");
for (string fn : dir.list()) {
    FileInputStream fstream = new FileInputStream(fn);
    DataInputStream in = new DataInputStream(fstream);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String strLine;
    while ((strLine = br.readLine()) != null)   {
        System.out.println (strLine);
    }
    in.close();
}

显然,您需要围绕这个骨架实现添加异常处理代码。

【讨论】:

  • “dasbinkenlight”成功回答了您的问题吗?如果是这样,请将其标记为这样,以便我们都能受益。
【解决方案2】:

详细解答……

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

public class FileRead {
    public static void main(String[] args) {
        FileReader fileReader = null;
        BufferedReader bufferedReader = null;
        try {
            File folder = new File("C:/Users/Mahady/Desktop/Java 31122011/src/register/");
            if (folder.isDirectory()) {
                for (File file : folder.listFiles()) {
                    fileReader = new FileReader(file);
                    bufferedReader = new BufferedReader(fileReader);
                    String line = null;
                    int lineCount = 0;
                    while (null != (line = bufferedReader.readLine())) {
                        lineCount++;
                        if (3 != lineCount) {
                            System.out.println(line);
                        }
                    }
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (null != bufferedReader)
                try {
                    bufferedReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
    }
}

希望这会对你有所帮助。

【讨论】: