java - 从文件中读取字符串行的有效方法

标签 java string streaming nio

假设我有 15GB 的日志记录文件,我想遍历该文件中的\n 终止行。什么 java 标准库/第 3 方为此操作提供干净的接口(interface)。

请注意,我正在寻找基于 NIO 的解决方案,最好使用内存映射文件访问方法,正如这个问题 How do I create a Java string from the contents of a file? 所演示的那样如果它在返回缓冲区的新 String() 实例之前没有将整个字节缓冲区加载到内存中,那将是一个完美的解决方案。由于输入的大小,这种方法在这种情况下不起作用。

谢谢你,
格言。

最佳答案

您是否考虑过使用 BufferedReader ?来自文档:

Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.

它有一个干净的接口(interface),用于获取以 \n 结尾的字符串 (BufferedReader.readLine()),并且应该相当高效,因为它是缓冲的。

关于java - 从文件中读取字符串行的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4914095/

相关文章:

ruby - Sax 从 S3 解析大文件

audio - 音频流中的歌曲标题编码

WCF - 通过 http 的流式文件上传

javascript - 在javascript中如何将字符串转换为数组并将数组转换为字符串

string - 查找三个字符串的所有可能组合

c# - 字符串空格

java - 用于解析输入的代码会抛出 InputMismatchException

java - 为什么我的 Scan.nextDouble 给出 java 错误?

java - 使用 lombok v 0.9.2 注释字段列表而不是单个字段

Java Spring Boot,上传大于 10MB 的文件时出现 MaxUploadSizeException/SizeLimitExceededException 问题