首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Java获取文本文件的最后一个MB

使用Java获取文本文件的最后一个MB
EN

Stack Overflow用户
提问于 2018-07-24 06:44:08
回答 1查看 61关注 0票数 -1

我正在尝试在文本区域中显示日志文件。我只需要日志文件的最后一MB。我怎么才能把它打印出来呢?如果它像一个5MB的文件,我只想跳过前4MB并打印出文件的最后1MB。我在查RandomAccessFile,文件和BufferedReader。我只需要一个如何正确使用它们的例子,但我总是得到错误的结果。

代码语言:javascript
复制
File file = new File("C:\\Windows\\PFRO.log");
RandomAccessFile raFile = new RandomAccessFile(file, "r");
byte[] data = new byte[10000000];
raFile.seek(file.length()-1000000);
raFile.read(data, (int) (file.length()-1000000), 1000000);
System.out.println("Here's the log: " + data.toString());

我得到的日志是:[B@7852e922,我如何获取内容?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 07:29:30

怎么样,

代码语言:javascript
复制
  BufferedReader raFile = new BufferedReader(new FileReader(file));
  char[] data = new char[SIZE];
  raFile.skip(file.length() - SIZE);
  raFile.read(data, 0, data.length);
  System.out.println("Here's the log: " + new String(data));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51488134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档