繁体   English   中英

java - 分析大文本文件

[英]java - analyzing big text files

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

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

范围本身是由另一个搜索推导出来的。

例如,我想在文件中搜索字符串"operation ended with failure" ,而不是整个文件,只从"starting operation"的行开始。

当然我可以用普通的InputStream和文件读取来做到这一点,但是有没有一个库或工具可以帮助更方便地做到这一点?

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

看看这个 - http://johannburkard.de/software/stringsearch/

希望有帮助;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM