3

我正在尝试将另一个进程附加的文本文件读入字节数组。我想定期“轮询”文件以仅提取新的“完整”文本行(这些行以新行结尾)。使用标准库在 Java 6 中执行此操作的最佳方法是什么?

我对存储和创建字符串不感兴趣,所以可能所有来自读者的“readLine()”方法都不是我应该研究的。我正在考虑使用 RandomAccessFile,但我想知道如何截断读取的字节数组,使其在最后一个换行符处结束。

4

1 回答 1

1

您可以有一个线程来轮询文件的长度。当长度增加时,将该长度作为 byte[] 读取(仅此而已,因此不要使用 BufferedInputStream),稍后您将能够继续读取文件。获取 byte[] 并将其写入 PipedOutputStream。

在您的主线程中,您可以使用 BufferedReader + InputStreamReader + PipedInputStream。使用一个普通的 readLine() 就可以了。

于 2012-06-12T07:08:39.343 回答