作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由多行组成的大文件,其中每一行实际上是一个英语单词。完整的文件无法装入内存。因此,我想一 block 一 block 地处理它。所以,我需要实现这样的东西:
我有两个问题。
1.如何实现方法1?我非常清楚如何实现方法2。
我知道如何使用 BufferedReader 逐行读取大文件。例如,
BufferedReader br = new BufferedReader(new FileReader(file)) {
String line;
while ((line = br.readLine()) != null) {
// process the line.
}
但是我想读取更多行而不是一行,并在方法2中处理所有这些。然后,当我回到方法1时,我想再次加载几行...
2. 我的假设是处理一大堆行比处理每一行更有效(性能方面)。这个假设正确吗?
最佳答案
BufferedReader 有效地处理读取 block 中的行。
所以你的选择实际上是:
因此,主要因素是您的“处理”实际执行的操作:一次在多行上运行该进程在逻辑上是否有意义,以及如果将多行传递给处理方法,处理方法是否可以包括一些优化一次?
关于java - 如何在Java中每次从不同的偏移量读取一个大的字符串文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948255/
我是一名优秀的程序员,十分优秀!