Теперь я помню, почему я использую BufferedReader в таких случаях ... :-)
аюсь разобрать линукс/etc/passwd
файл в Java. В настоящее время я читаю каждую строку черезjava.util.Scanner
класс, а затем с помощьюjava.lang.String.split(String)
разграничить каждую строку.
Проблема в том, что строка:
list:x:38:38:Mailing List Manager:/var/list:/bin/sh"
Сканер обрабатывается как 3 разные строки:
list:x:38:38:Mailing
List
Manager...
Когда я набираю это в новый файл, который я не получил от Linux,Scanner
разбирает это правильно.
Есть что-то, чего я не понимаю в новых строках в Linux?
Очевидно, что обходной путь состоит в том, чтобы разобрать его без использования сканера, но это не будет элегантно Кто-нибудь знает элегантный способ сделать это?
Есть ли способ конвертировать файл в тот, который будет работать сScanner
?
Даже два дня назад:Историческая причина различий в линиях на разных платформах
РЕДАКТИРОВАТЬ
Примечание от оригинального автора:
«Я понял, что у меня другая ошибка, которая вызывает проблему. Не обращайте внимания на вопрос»