如何使用java代码获取文本文件的最后1 mb数据?

时间:2012-01-10 09:40:38

标签: java

我在服务器(.txt文件)中有500 MB的日志文件。我的要求是我只想要最后1 MB的数据。正如我们所知,如果我使用java代码读取整个文件会导致问题,这可能会导致应用程序的可用性问题。我不知道如何获取最后一个MB数据,还没有开始编码。任何人都可以给我一些建议吗?

先谢谢,

拉​​吉

2 个答案:

答案 0 :(得分:1)

  

我在服务器(.txt文件)中有500 MB的日志文件。我的要求是我只想要最后1 MB的数据。

你可以跳过最后1 MB并阅读它。但是你可能会得到一条不完整的行。

  

正如我们所知,如果我使用java代码读取整个文件会导致问题,这可能会导致应用程序的可用性问题。

只有你编码很差。没有好的阅读它会做到这一点。但是,如果您知道只需要最后1 MB,则没有良好的读取读取500 MB。

  

我不知道如何获取最后一个MB数据并且还没有开始编码。任何人都可以给我一些建议吗?

开始编码,阅读文档,特别是跳过功能。

答案 1 :(得分:1)

对于你的问题,你只需要使用一个随机访问文件,并使用seek()方法将光标放在最后减去1mb ... 请阅读java.io.RandomAccessFile javadoc,尤其是seek()注释...

HTH 杰罗姆