我正在尝试在我的应用程序中从Android Logcat打印最后200行左右。
到目前为止,我已经能够使用InputStreamReader将Logcat放入BufferedReader中。问题是我不知道如何跳到缓冲阅读器的末尾然后向后读,或者跳到最后200行的正上方并从那里打印。
我不想在读取整个日志时执行蛮力方法。我希望有一个更优雅的解决方案。

谢谢。

最佳答案

BufferedReader不知道行的概念,只知道数据流。如果您甚至不知道多长时间,您将很难找到跳至(EOF-200行)的方法。

我建议在其后填充一个RingBuffer,存储200行,用最新的替换旧的。这样,BufferedReader会继续填充ringBuffer,然后使用它来读取。

另一种选择是每200行清除一次日志...

10-08 02:56