Sud*_*eer 5 java pointers file buffered
我有一个日志文件,每秒更新一次.我需要定期读取日志文件,一旦我做了阅读,我需要存储的文件指针位置在最后一行我读的结束,并在下次定期读我应该从这一点开始.
目前,我在Java中使用随机访问文件,并使用该getFilePointer()方法获取偏移值,并使用seek()方法转到偏移位置.
但是,我已阅读大多数文章甚至Java doc建议,BufferredReader以便有效地阅读文件.如何使用a实现此目的(获取文件指针并移动到最后一行)BufferedReader,还是有其他有效的方法来实现此任务?
有几种可行的方法:
我还没有诚实地对这些进行分析,看看哪个在性能方面更好,但您应该看看哪个更适合您的情况。
RandomAccessFile 的问题本质上是它的 readLine() 方法效率非常低。如果您可以方便地从 RAF 中读取数据并进行自己的缓冲来分割行,那么 RAF 本身并没有什么问题——只是它的 readLine() 实现得不好