Java - анализ больших текстовых файлов - PullRequest
3 голосов
/ 16 июля 2011

Мне нужно проанализировать файл журнала во время выполнения с Java.

Мне нужно иметь возможность взять большой текстовый файл и найти определенную строку или регулярное выражение в пределах определенного диапазона строк..

Сам диапазон выводится другим поиском.

Например, я хочу найти строку "operation ended with failure" в файле, но не весь файл, только начиная со строки, котораяговорит "starting operation".

Конечно, я могу сделать это с простым InputStream и чтением файла, но есть ли библиотека или инструмент, который поможет сделать это более удобно?

Ответы [ 2 ]

1 голос
/ 16 июля 2011

Если файл действительно огромен, то в вашем случае либо хорошо написанный java, либо любое * nix инструментальное решение будет почти одинаково медленным (оно будет связано с IO).В таком случае вы не избежите прочтения всего файла построчно ... И в этом случае несколько строк Java-кода сделают эту работу ... Но вместо однократного поиска я подумаюразделение файла во время генерации, что может быть гораздо более эффективным.Вы можете перенаправить файл журнала в другую программу / скрипт (для этого подойдет и awk, и python) и разбить файл онлайн / при генерации, а не постфактум.

0 голосов
/ 16 июля 2011

Проверьте это - http://johannburkard.de/software/stringsearch/

Надеюсь, что помогает;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...