解析巨大的文本字符串String.split()(或)正则表达式(或)任何其他方式?

时间:2016-05-25 12:36:07

标签: java

我的文本文件有3,00,000行,其中行分隔符是'

例如,

    UNB+UNOA:1+KRR+KRR+050313:1257+1+++++KRR'
    UNH+1+BAPLIE:D:95B:UN:SMDG20'
    BGM++1+9'
    ......
    ......
    .......

我想逐行阅读文字。

庞大的用户将类似的文件导入系统。

通过对文本进行分隔,逐行读取文件的最佳方法是什么?

我们可以通过java中的正则表达式解析整个文本吗?如果有,怎么办?

如果我们有一个强大的正则表达式来解析文本,那么

String.split()可能会更慢。

请帮助我提出建议以获得最佳表现。

感谢。

1 个答案:

答案 0 :(得分:0)

如果你想从文本文件中读取行,就这样做......

     BufferedReader br = new BufferedReader(new FileReader("YourPath"));
     String line = br.readLine();
     while (line != null) {
            //Do Something...
         line = br.readLine();
     }
     br.close();

例如,如果您的文本文件是:

上午

HAPPY

输出

上午

快乐

相同..