Теперь я помню, почему я использую 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:MailingListManager...

Когда я набираю это в новый файл, который я не получил от Linux,Scanner разбирает это правильно.

Есть что-то, чего я не понимаю в новых строках в Linux?

Очевидно, что обходной путь состоит в том, чтобы разобрать его без использования сканера, но это не будет элегантно Кто-нибудь знает элегантный способ сделать это?

Есть ли способ конвертировать файл в тот, который будет работать сScanner?

Даже два дня назад:Историческая причина различий в линиях на разных платформах

РЕДАКТИРОВАТЬ

Примечание от оригинального автора:

«Я понял, что у меня другая ошибка, которая вызывает проблему. Не обращайте внимания на вопрос»

Ответы на вопрос(7)

Ваш ответ на вопрос