Java : 没有 Stringbuffer 的正则表达式
Java : Regexp without Stringbuffer
我有一个包含多个子文本的大文本文件,每个子文本由 <text>
和 </text>
分隔,如下所示
<text>lots of text</text> <start>lots of text</text> ...
我的目标是每次读取文本文件,从每个子文本中提取信息并将这些信息写入三个文件中。
我想过用这段代码来得到一个字符串
Path bigInputPath = Paths.get("bigfile.txt");
BufferedReader reader = Files.newBufferedReader(bigInputPath, StandardCharsets.UTF_8);
StringBuffer sb = new StringBuffer();
String l;
while ((l = reader.readLine()) != null) {
sb.append(l);
}
reader.close();
然后使用正则表达式提取第一个潜台词,处理它,然后提取第二个潜台词并处理它等等...
但是文本文件很大,有没有更好的方法进行?
由于数据位于标签之间,我相信您可以像 XML 文档一样解析它。
这里有一个如何操作的例子:https://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/
我有一个包含多个子文本的大文本文件,每个子文本由 <text>
和 </text>
分隔,如下所示
<text>lots of text</text> <start>lots of text</text> ...
我的目标是每次读取文本文件,从每个子文本中提取信息并将这些信息写入三个文件中。
我想过用这段代码来得到一个字符串
Path bigInputPath = Paths.get("bigfile.txt");
BufferedReader reader = Files.newBufferedReader(bigInputPath, StandardCharsets.UTF_8);
StringBuffer sb = new StringBuffer();
String l;
while ((l = reader.readLine()) != null) {
sb.append(l);
}
reader.close();
然后使用正则表达式提取第一个潜台词,处理它,然后提取第二个潜台词并处理它等等...
但是文本文件很大,有没有更好的方法进行?
由于数据位于标签之间,我相信您可以像 XML 文档一样解析它。
这里有一个如何操作的例子:https://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/