Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据条件将Java缓冲区读取器循环中的一些行移回(重新读取)_Java_Loops_Bufferedreader_Seek_Randomaccessfile - Fatal编程技术网

根据条件将Java缓冲区读取器循环中的一些行移回(重新读取)

根据条件将Java缓冲区读取器循环中的一些行移回(重新读取),java,loops,bufferedreader,seek,randomaccessfile,Java,Loops,Bufferedreader,Seek,Randomaccessfile,我正在使用Java BUfferReader读取1500万个文件。在某些情况下,我必须循环回缓冲区中的1000行并重新读取它们,然后在1000行之后继续执行下一个记录。 简单地说,我希望能够在循环期间完全控制缓冲区中的行号 1 BufferReader.mark1000000和BufferReader.Reset只是挂在大文件中 2如果我使用Randomaccessfile,seek方法需要偏移量而不是简单的行号,这使得程序复杂 那么,如果我想在某种情况下一次又一次地向后移动1000行,那么最好

我正在使用Java BUfferReader读取1500万个文件。在某些情况下,我必须循环回缓冲区中的1000行并重新读取它们,然后在1000行之后继续执行下一个记录。 简单地说,我希望能够在循环期间完全控制缓冲区中的行号

1 BufferReader.mark1000000和BufferReader.Reset只是挂在大文件中

2如果我使用Randomaccessfile,seek方法需要偏移量而不是简单的行号,这使得程序复杂

那么,如果我想在某种情况下一次又一次地向后移动1000行,那么最好的方法是什么呢


谢谢

你不应该这么做。几乎任何文件都可以在一次过程中处理。如果Java编译器可以做到这一点,那么您也可以做到。如果确实存在此问题,只需将最后1000行保留在列表中,并在每次阅读新行时进行更新,删除第一项并添加最后一项。@EJP 1k行,非常好。