Найди как убрать LF значки. Не годится так.
В смысле - не скрыть непечатаемые символы, а перекодировать файл, так нужно по спецификации явы.
Может ей нравится видеть даже скрытые символы переноса строк =) у меня в ворде так включено, чтобы удобнее было форматировать текст.
Евгений при unix окончание строки говорит, что спецификации не соответствует. То есть жаборазработчикам на linux нельзя код писать без посторонних средств получается.
Есть стандарты окончания строк в разных системах:
CR это Mac OS
LF это *nix
CRLF это дос, винда...
з.ы.
когда изучали программирование ещё в древние времена и кроме доса ничего небыло, то при печати текста на матричных принтерах нас учили: CR - возвращает головку принтера в начало, LF - смещает бумагу на трочку вверх (т.е. начало новой строчки) в те времена мы ещё не изучали другие ОСи и не знали, что у них это дело оптимизировано до 1 байта, который выполнял оба действия. мне кажется разделение команды на каждый байт лучше, чем совмещать, так как если ты не заюзал LF, то принтер начинал печатать на той же строчке, таким образом можно было настраивать жирность печати текста =) (т.е. задал несколько строк одного и того же текста, и после них только CR, принтер пробивал поверх одно и тоже, делая текст более жирным).
С матричными принтерами не работала, но readkey для считывания данных юзала. Возврат каретки и в линукс есть. Только зачем его 2 раза вызывать? Или джава удаляет лишний cr в линуксе? Весь сыр-бор из-за виндового блокнота?
Читаем спецификацию www.helloworld.ru/texts/comp/lang/java/java3/3-doc.htm#3.4 (не новая, но на русском)
Код должен быть в unicode.
Про юникод. www.javaportal.ru/java/articles/javaandunicode.html. Новый стандарт это utf-16?
docs.oracle.com/javase/specs/jls/se8/html/jls-3.htm. :-) Да, но для файлов с данными больше подходит utf-8.
ANSI к юникоду не имеет отношения.
LineTerminator (конец строки, который игнорируется компилятором) lf, cr, или одновременно cr lf.
InputCharacter: UnicodeInputCharacter, кроме cr lf.