Я читаю текстовый файл, используя Java Scanner
.Файл может заканчиваться символом CRLF
или LF
(но не сочетанием обоих).Я использую приведенный ниже фрагмент кода:
try(Scanner scanner = new Scanner(file)){
scanner.useDelimiter(Pattern.compile("(\\n) | (\\r\\n)"));
while(scanner.hasNext()) {
System.out.println(scanner.next());
}
}
Однако он работает не так, как я ожидаю.Он не может читать построчно, а печатает содержимое всего файла.Если я использую LF
или CRLF
, он работает нормально.
Что я делаю не так?Как я могу поддерживать оба символа перевода строки?