我正在尝试在文本区域中显示日志文件。我只需要日志文件的最后一MB。我怎么才能把它打印出来呢?如果它像一个5MB的文件,我只想跳过前4MB并打印出文件的最后1MB。我在查RandomAccessFile,文件和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,我如何获取内容?谢谢!
发布于 2018-07-24 07:29:30
怎么样,
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));
https://stackoverflow.com/questions/51488134
复制相似问题