[英]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.