为了账号安全,请及时绑定邮箱和手机立即绑定

快速阅读文本文件的最后一行?

快速阅读文本文件的最后一行?

红糖糍粑 2019-08-02 16:06:47
快速阅读文本文件的最后一行?从Java中的[非常非常大的]文件中读取最后一行文本的最快捷,最有效的方法是什么?
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

看看我对C#类似问题的答案。虽然Java中的编码支持有些不同,但代码非常相似。

基本上,一般来说,这不是一件非常容易的事情。正如MSalter所指出的那样,UTF-8确实很容易发现,\r或者\n因为这些字符的UTF-8表示与ASCII相同,并且这些字节不会出现在多字节字符中。

所以基本上,取一个(比方说)2K的缓冲区,然后逐步向后读(在你之前跳到2K,读下一个2K)检查线路终止。然后跳到流中正确的位置,InputStreamReader在顶部创建一个,在顶部创建一个BufferedReader。然后打电话BufferedReader.readLine()


查看完整回答
反对 回复 2019-08-02
?
九州编程

TA贡献1785条经验 获得超4个赞

Apache Commons有一个使用RandomAccessFile的实现。

它叫做ReversedLinesFileReader


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 440 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信