Внезапно заметил, что метод trim() удаляет CRLF - новую строку - символы также ..:
trim()
String s = "str\r\n"; s = s.trim(); System.out.println("--"); System.out.print(s); System.out.println("--");
Он предназначен для этого?
Да, см. doc :
В противном случае, пусть k будет индексом первого символа в строке, чей код больше, чем '\ u0020', и пустьm будет индексом последнего символа в строке, чей код больше, чем '\ u0020'.Создается новый объект String, представляющий подстроку этой строки, которая начинается с символа с индексом k и заканчивается символом с индексом m, то есть является результатом этой строки (k, m + 1).
CR+LF: CR (U+000D) followed by LF (U+000A) меньше U+0020
CR+LF: CR (U+000D) followed by LF (U+000A)
U+0020