java - 分析大文本文件

时间:2011-07-15 20:38:17

标签: java text

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

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

范围本身是由另一次搜索推断出来的。

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

检查一下 - http://johannburkard.de/software/stringsearch/

希望有所帮助;)