我正在尝试在文本区域中显示日志文件。我只需要日志文件的最后一个MB。我怎样才能把它打印出来?如果是5MB的文件,我只想跳过前4MB并打印出文件的后1MB。我正在研究RandomAccessFile,File和BufferedReader。我只需要一个有关如何正确使用它们的示例,但是我总是得到错误的结果。
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 我如何获取内容? 谢谢!
答案 0 :(得分:0)
怎么样
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));