Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试将另一个进程附加的文本文件读入字节数组。我想定期“轮询”文件以仅提取新的“完整”文本行(这些行以新行结尾)。使用标准库在 Java 6 中执行此操作的最佳方法是什么?
我对存储和创建字符串不感兴趣,所以可能所有来自读者的“readLine()”方法都不是我应该研究的。我正在考虑使用 RandomAccessFile,但我想知道如何截断读取的字节数组,使其在最后一个换行符处结束。
您可以有一个线程来轮询文件的长度。当长度增加时,将该长度作为 byte[] 读取(仅此而已,因此不要使用 BufferedInputStream),稍后您将能够继续读取文件。获取 byte[] 并将其写入 PipedOutputStream。
在您的主线程中,您可以使用 BufferedReader + InputStreamReader + PipedInputStream。使用一个普通的 readLine() 就可以了。