Java程序读取大型文本文件逐行的内容
本文介绍了逐行读取文本文件的方法。这里,通过示例解释这三种不同的方法。以文本格式存储文件非常重要,尤其是当数据从一种结构化/非结构化形式传输到另一种形式时。因此,基本的文件传输系统将txt文件的读写过程集成为其应用组件。因此,如何使用文本文件的读写方法对于解析器的制作也很重要。
多种方法
给定的问题陈述通过三种不同的方法解决
通过使用 BufferedReader 类
通过使用 FileInputStream
通过使用 FileReader
让我们按顺序查看该程序及其输出。
注意 - 这些程序不会在任何在线 Java 编译器上给出预期结果。因为在线编辑器不会访问本地系统的文件路径。
方法 1:- 使用 BufferedReader
在此方法中,缓冲区由 BufferedReader 提供到 FileReader 中。它的性能非常有效,因为它使用更大的块读取而不是一次读取单个字符。
算法
步骤 1 - 指定要读取的文件。
步骤 2 - 按照不同的方法读取文件行,这意味着文件被作为一个块读取。
第 3 步 - 在显示屏/屏幕上打印从文件中读取的行。
说明
BufferReader 与 BufferedInputStream 不同,因为 BufferedReader 读取字符,而 BufferedInputStream 读取原始字节。 Reader 是 BufferedReader 的超类,Reader 类的超类是 Object 类。 BufferedReader 类支持两个构造函数。使用这些构造函数创建 bufferedReader 实例。一个构造函数接受读取器实例,另一个构造函数接受读取器实例和缓冲区大小。
示例(方法 1)
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Read { public static void main(String[] args) { // making the BufferedReader object BufferedReader b_reader; try { // Reading the sample.txt file b_reader = new BufferedReader(new FileReader("sample.txt")); //reading line by line String ln = b_reader.readLine(); while (ln != null) { //printing the line System.out.println(ln); ln = b_reader.readLine(); } b_reader.close(); } catch (IOException e) { e.printStackTrace(); } } } 登录后复制