如何将文本文件(或XML文件)表示为整个字符串,并在其中搜索(或匹配)特定的字符串?在Java中将文本文件表示为单个单元,并在文本中匹配字符串
我已经创建了一个BufferedReader对象:
BufferedReader input = new BufferedReader(new FileReader(aFile));
,然后我曾尝试使用扫描仪类的选项来指定不同的分隔符,就像这样:
//Scanner scantext = new Scanner(input);
//Scanner scantext = new Scanner(input).useDelimiter("");
Scanner scantext = new Scanner(input).useDelimiter("\n");
while (scantext.hasNext()) { ... }
使用扫描仪类像这样,我可以逐行阅读文本,也可以逐字阅读文本,但它不能帮助我,因为有时在文本中我想要处理的文本中,我有
</review><review>
我想说的是,如果您在文本中的任何位置找到“<review>
”,请在下面的几行(或一段文字)内找到“</review>
”。问题是<review>
和</review>
在文本中的不同位置,有时粘在其他文本(因此作为分隔符的空白空间不能帮助我)。
我以为我可能会在Java(模式和匹配器类)中使用正则表达式API,但它们似乎匹配特定的字符串或行,并且我希望文本作为一个连续的字符串(至少这是我读过的关于他们的印象)。你能告诉我在这种情况下我应该使用什么结构/方法/类?谢谢。
我发布后多次编辑文本,所以现在一切都被读取,我希望(对不可见的东西抱歉) – user42155 2009-05-04 19:32:49