Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要用Java处理的2GB文件_Java_Unix_File Io - Fatal编程技术网

要用Java处理的2GB文件

要用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

我正在使用大小为2GB的日志文件。当堆超过最大限制时,它会抛出日志文件中的OutOfMemory错误

我想模拟unix命令 tail-20本机日志

如何在JAVA中实现这一点

我无法逐行阅读,因为它有数千行,这将需要很多时间


我读到的文件是来自SFTP serevr的流式文件。

Apache commons有一个unix“tail-f”功能的简单实现


你可以用它逐行读取一个大文件。

这里可能有答案:实际上,这里有答案-最简单、最可靠的答案是建议使用apache commons.io中的org.apache.commons.io.input.ReversedLinesFileReader。你尝试了什么,遇到了什么问题?你只需要记住最后20行,一旦你到了末尾,就把它们打印出来,然后你需要再打印任何一行。问题是关于tail-num,而不是tail-f。对于一个多gig文件来说,这是非常低效的。嗨,日志文件中有数千行,逐行读取是不可取的。我需要跳过最后10行以外的所有行