要用Java处理的2GB文件
我正在使用大小为2GB的日志文件。当堆超过最大限制时,它会抛出日志文件中的OutOfMemory错误 我想模拟unix命令 tail-20本机日志 如何在JAVA中实现这一点 我无法逐行阅读,因为它有数千行,这将需要很多时间要用Java处理的2GB文件,java,unix,file-io,Java,Unix,File Io,我正在使用大小为2GB的日志文件。当堆超过最大限制时,它会抛出日志文件中的OutOfMemory错误 我想模拟unix命令 tail-20本机日志 如何在JAVA中实现这一点 我无法逐行阅读,因为它有数千行,这将需要很多时间 我读到的文件是来自SFTP serevr的流式文件。Apache commons有一个unix“tail-f”功能的简单实现 你可以用它逐行读取一个大文件。这里可能有答案:实际上,这里有答案-最简单、最可靠的答案是建议使用apache commons.io中的org.ap
我读到的文件是来自SFTP serevr的流式文件。Apache commons有一个unix“tail-f”功能的简单实现
你可以用它逐行读取一个大文件。这里可能有答案:实际上,这里有答案-最简单、最可靠的答案是建议使用apache commons.io中的org.apache.commons.io.input.ReversedLinesFileReader。你尝试了什么,遇到了什么问题?你只需要记住最后20行,一旦你到了末尾,就把它们打印出来,然后你需要再打印任何一行。问题是关于tail-num,而不是tail-f。对于一个多gig文件来说,这是非常低效的。嗨,日志文件中有数千行,逐行读取是不可取的。我需要跳过最后10行以外的所有行