У меня есть файл в следующем формате, записи разделены символом новой строки, но в некоторых записях есть строка в них, как показано ниже. Мне нужно получить каждую запись и обработать их отдельно. Размер файла может быть несколько Мб.Как разбить файл на токены на основе регулярных выражений с помощью Java
<?aaaaa>
<?bbbb
bb>
<?cccccc>
У меня есть код:
FileInputStream fs = new FileInputStream(FILE_PATH_NAME);
Scanner scanner = new Scanner(fs);
scanner.useDelimiter(Pattern.compile("<\\?"));
if (scanner.hasNext()) {
String line = scanner.next();
System.out.println(line);
}
scanner.close();
Но результат я получил иметь начинающуюся < \? удалено:
aaaaa>
bbbb
bb>
cccccc>
Я знаю, что сканер потребляет любые входные данные, соответствующие шаблону разделителя. Все, что я могу придумать, это добавить шаблон разделителя назад к каждой записи mannully.
Есть ли способ НЕ удалять шаблон деминера?
(смеется) Так что это делает ! – DevilsHnd
Я протестировал его, это сработало! Спасибо огромное! – jlp
Я тестировал с большим количеством записей, и этот подход сделал некоторые записи в одной строке. Не могли бы вы помочь? – jlp