Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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-分析大文本文件_Java_Text - Fatal编程技术网

java-分析大文本文件

java-分析大文本文件,java,text,Java,Text,我需要在运行时用Java分析日志文件 我需要的是,能够获取一个大的文本文件,并在特定的行范围内搜索特定的字符串或正则表达式 范围本身是通过另一次搜索推断出来的 例如,我想搜索文件中的字符串“操作因失败而结束”,但不搜索整个文件,只从写着“开始操作”的行开始 当然,我可以通过普通的InputStream和文件读取来实现这一点,但是有没有一个库或工具可以更方便地实现这一点 看看这个- 希望有帮助;) 如果文件非常大,那么在您的情况下,无论是编写良好的java还是任何*nix工具解决方案都几乎同样慢(

我需要在运行时用Java分析日志文件

我需要的是,能够获取一个大的文本文件,并在特定的行范围内搜索特定的字符串或正则表达式

范围本身是通过另一次搜索推断出来的

例如,我想搜索文件中的字符串
“操作因失败而结束”
,但不搜索整个文件,只从写着
“开始操作”
的行开始

当然,我可以通过普通的
InputStream
和文件读取来实现这一点,但是有没有一个库或工具可以更方便地实现这一点

看看这个-


希望有帮助;)

如果文件非常大,那么在您的情况下,无论是编写良好的java还是任何*nix工具解决方案都几乎同样慢(它将绑定到IO)。在这种情况下,您将无法避免逐行读取整个文件。。。。在这种情况下,只有几行java代码可以完成这项工作。。。但是,与一次性搜索相比,我会考虑在生成时分割文件,这可能会更有效。您可以将日志文件重定向到另一个程序/脚本(awk或python都适合),并在线/在生成时而不是事后拆分文件。

方便-听起来像是延迟加载:-它必须是java吗?我的意思是,grep(一个*nix标准实用程序)正是为您这样做的。。。不过,它是一个命令行工具。或者使用Splunk-你不能像他们那样使用模式类吗?我正在寻找一个java解决方案。不过,对于las resort,我将使用命令行util。有什么好消息吗?你能解释一下这个用法吗?