Как получить текстовый файл (или файл XML) в виде целой строки и найти (или сопоставить) определенную строку в ней?
Я создал объект BufferedReader:
BufferedReader input = new BufferedReader(new FileReader(aFile));
, а затем я попытался использовать класс Scanner с его опцией для указания различных разделителей, например:
//Scanner scantext = new Scanner(input);
//Scanner scantext = new Scanner(input).useDelimiter("");
Scanner scantext = new Scanner(input).useDelimiter("\n");
while (scantext.hasNext()) { ... }
Используя такой класс Scanner, я могу либо читать текст за строкой, либо слово за словом, но это мне не помогает, потому что иногда в тексте, который я хочу обработать, у меня есть
</review><review>
и я хотел бы сказать: если вы найдете "<review>
" в любом месте текста, делайте что-то со следующими следующими строками (или фрагментом текста), пока не найдете "</review>
". Проблема в том, что <review>
и </review>
находятся в разных местах в тексте и иногда приклеиваются к другому тексту (поэтому пустое пространство в качестве разделителя мне не помогает).
Я подумал, что мог бы использовать API регулярных выражений в Java (классы Pattern и Matcher), но они, кажется, соответствуют определенной строке или строке, и я хочу, чтобы текст был одной непрерывной строкой (по крайней мере, это были мои впечатления от прочитанного о них). Не могли бы вы сказать мне, какие структуры / методы / классы я должен использовать в этом случае? Спасибо.