我有一个 BufferedReader 循环访问一个文件。当我遇到特定情况时,我想继续使用不同的阅读器实例循环,但从此时开始。
对于推荐的解决方案有什么想法吗?创建单独的阅读器,使用标记功能等?
最佳答案
在等待您对我的评论做出答复时,我一直在做假设。
如果您看重的是逐行输入,您可能会像我发现 RandomAccessFile
现在(自 1.4 或 1.5 起)支持 readLine
方法时感到惊喜。当然,RandomAccessFile 可以让您对位置进行细粒度控制。
如果您想要缓冲 IO,您可以考虑将读取器包装在 CharacterBuffer
周围,或者可能将 ByteBuffer
包装在使用 nio
映射的文件周围> API。这使您能够将文件视为内存,并对读取指针进行精细控制。因为数据都在内存中,所以缓冲是免费的。
关于Java制作一个阅读器的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759207/