使用Java描述和提取大文本文件中的数据

时间:2010-10-05 18:18:17

标签: java regex

我有一个带有250k +文本行的ASCII格式文件,我需要执行两个步骤。

1)扫描整个文件,并通过匹配给定的正则表达式模式来描绘部分。

2)读取每个数据部分并从中解析子部分。

一种选择是使用BufferedReader对文件进行面向行的扫描,测试每一行的匹配并存储匹配的行号。

是否有更有效的选项可能使用nio名称空间?

1 个答案:

答案 0 :(得分:0)

也许通过一连串的流来抽取文件;一个流只传递与正则表达式匹配的部分,后跟一个执行解析步骤的流。

e.g。

OutputStream os = RegexFilterOutputStream(
                  new ParsingStuffOutputStream()
                  );
while(input not empty) {
    // write stuff from input to os
}