迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

如何在 Java 中逐行读取一个大型文本文件

作者:迹忆客 最近更新:2023/08/14 浏览次数:

本文将讨论在 Java 中逐行高效读取大型文本文件的方法。

在 Java 中读取文本文件的方法有很多。但是,本教程是专门针对读取大型文本文件的,我们将讨论三种最有效的快速读取大型文本文件的方法。


在 Java 中 BufferedReader 逐行读取文件的方法

BufferedReaderJava 中的类从给定的字符输入流中读取文本,缓冲字符以提供字符、数组和行的高效读取。该方法为文件大小相当大的输入文件提供了高效的逐行读取。

下面的例子说明了如何使用 BufferedReader 来读取一个 txt 文件并逐行输出其内容。

import java.io.*;

public class Main {
    public static void main(String[] args) {
        String file = "my-file.txt";
        try(BufferedReader br = new BufferedReader(new FileReader(file))) 
        {
            String line;
            while ((line = br.readLine()) != null) {
            System.out.println(line);
            }
        }
        catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

在 Java 中 Stream 逐行读取文件

Java 8 及以上版本的用户还可以使用 Stream 逐行读取大文件。下面的例子说明了如何使用 Stream 来读取一个 txt 文件,并逐行输出其内容。

import java.io.*;
import java.nio.file.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        String file = "my-file.txt";
        try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
            stream.forEach(System.out::println);
        }
        catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

以上讨论的两种方法会逐行读取输入文件,而不是将整个文件读到内存中。因此,如果我们有一个巨大的文件,不能完全读入内存,这两种方法的效率是很高的。

但是,如果我们的内存足够大,可以完全读取输入文件,我们也可以尝试下面的方法。


Java 中逐行读取文件的 Scanner 方法

Java 中的 Scanner 类是一个简单的文本 Scanner,它可以使用正则表达式解析原始类型和字符串。Scanner(File source) 将完整的文件读入内存,然后逐行处理。

下面的例子说明了如何使用 Scanner 读取一个 txt 文件并逐行输出其内容。

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String [] args) throws IOException {
        String fileName = "my-file.txt";
        Scanner scan = new Scanner(new File(fileName));
        while(scan.hasNextLine()){
            String line = scan.nextLine();
            System.out.println(line);
        }
    }
}

我们讨论了三种方法来读取 Java 中的大文本文件并逐行处理它。每种方法都有一些约束和优点,在决定在特定情况下使用哪种方法时,我们必须考虑这些约束和优点。

上一篇:如何在 Java 中创建文件并向其写入数据

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Java 中创建文件并向其写入数据

发布时间:2023/08/14 浏览次数:65 分类:Java

本文讨论了在 Java 中创建文本文件并向其写入数据的方法。Java 有多种创建文件的方法。需要记住的是,try-catch 块几乎是所有创建文件方法所必需的,这样任何 IO 异常都会被优雅地处理。不要

如何在 Java 中读取文件夹的所有文件

发布时间:2023/08/14 浏览次数:139 分类:Java

本文介绍了如何在 Java 中读取一个文件夹的所有文件,并列举了一些示例代码来理解它。有几种方法可以获得一个文件夹的所有文件。在这里我们可以使用 File、Files 和 DirectoryStream 类,还有很

如何在 Java 中获取文件的文件扩展名

发布时间:2023/08/14 浏览次数:85 分类:Java

本文介绍了如何在 Java 中获取文件的文件扩展名,还列举了一些示例代码来理解这个话题。使用 Java 中的 getExtension() 方法获取文件扩展名 要获得文件的扩展名,我们可以使用 FilenameUtils 类的

如何在 Java 中获取当前工作目录

发布时间:2023/08/14 浏览次数:88 分类:Java

本文介绍了如何获取当前工作目录,并列举了一些示例代码来理解。获取当前工作目录的方法有几种,这里我们用到了 System.getProperty()、toAbsolutePath() 和 FileSystems.getDefault() 等方法。我们来看看

如何在 Java 中检查文件是否存在

发布时间:2023/08/14 浏览次数:80 分类:Java

本文将介绍 Java 中检查文件是否存在的几种简单方法。当我们想知道指定的文件是否存在时,我们将使用不同的包和类。

如何在 Java 中读取 XML 文件

发布时间:2023/08/14 浏览次数:155 分类:Java

在本文中,我们将学习如何通过使用诸如 DOM Parser,XML Parser,jdom2,dom4j 之类的某些库将 XML 文件解析为 Java 应用程序。XML 代表 Extensible Markup Language,用于在应用程序中传递数据。

在 Java 中重命名文件

发布时间:2023/08/14 浏览次数:94 分类:Java

本文介绍了如何在 Java 中重命名文件,并列出了一些示例代码,以便你进一步了解该主题。在 Java 中重命名文件非常容易,因为 Java 在 java.io 包中提供了几个内置方法。

用 Java 读取文本文件

发布时间:2023/08/14 浏览次数:78 分类:Java

在本文中,我们将学习如何使用 Java 读取文本文件。在 Java 中使用 Scanner 类读取文件 Scanner 类可以读取 Java 中的文件。首先,创建一个 File 对象来表示所需文件的路径。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便