You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java实现批量读取并打印文本文件每3行内容的需求求助

Java实现按3行一组读取并打印文本文件内容

实现思路

  • 用BufferedReader逐行读取文本,它适合处理文本行读取,效率较高
  • 循环每次读取3行作为一组,打印后用空行分隔不同组(注意最后一组后不额外输出空行)
  • 用try-with-resources自动管理文件流,避免手动关闭流的麻烦,同时处理文件读取时的异常

完整代码示例

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

public class ThreeLineReader {
    public static void main(String[] args) {
        // 替换成你的实际文件路径,比如 "./messages.txt" 或者 "D:/docs/test.txt"
        String filePath = "your-file-path.txt";

        // try-with-resources:自动关闭BufferedReader,无需手动调用close()
        try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
            String line1, line2, line3;
            boolean isFirstGroup = true; // 标记第一组,避免开头输出空行

            // 循环读取每组的3行,直到文件结束
            while ((line1 = reader.readLine()) != null) {
                // 读取当前组的第2、3行
                line2 = reader.readLine();
                line3 = reader.readLine();

                // 非第一组时,先打印空行分隔
                if (!isFirstGroup) {
                    System.out.println();
                }
                isFirstGroup = false;

                // 打印当前组的内容,处理文件行数不是3的倍数的情况
                System.out.println(line1);
                if (line2 != null) {
                    System.out.println(line2);
                }
                if (line3 != null) {
                    System.out.println(line3);
                }
            }
        } catch (IOException e) {
            // 捕获并处理文件读取异常
            System.err.println("读取文件出错: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

关键细节说明

  1. 文件路径替换:把代码里的your-file-path.txt改成你实际的文件路径,Windows路径注意用/或者转义的\\(比如"C:\\test\\file.txt")
  2. try-with-resources优势:Java 7及以上版本支持,自动关闭文件流,不用手动写finally块关闭资源,避免资源泄漏
  3. 处理非3倍数行数:如果文件总行数不是3的倍数(比如7行),最后一组的第2、3行可能为null,代码里加了非空判断,不会输出null
  4. 空行分隔逻辑:用isFirstGroup标记,确保第一组前没有空行,后续每组前输出空行,不会在最后多打一个空行

内容的提问来源于stack exchange,提问作者Killua11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:55:27