Как отмечалось в других ответах, ваш код не работает в основном , поскольку String.replace(...)
не изменяет целевую строку. (Это невозможно - строки Java являются неизменяемыми!) На самом деле он создает новую строку с символами, измененными по мере необходимости. Но тогда ваш код выбрасывает эту строку ...
Вот несколько возможных решений. Какой из них наиболее правильный, зависит от того, что именно вы пытаетесь сделать.
// #1
text = text.replace("\n", "");
Просто удаляет все символы новой строки. Это не справляется с завершением строки в Windows или Mac.
// #2
text = text.replace(System.getProperty("line.separator"), "");
Удаляет все линейные терминаторы для текущей платформы. Это не относится к случаю, когда вы пытаетесь обработать (например) файл UNIX в Windows или наоборот.
// #3
text = text.replaceAll("\\r|\\n", "");
Удаляет все разделители строк в Windows, UNIX или Mac. Однако, если входной файл является текстом, это объединит слова; например, * 1 016 *
Goodbye cruel
world.
становится
Goodbye cruelworld.
Так что вы действительно можете сделать это:
// #4
text = text.replaceAll("\\r\\n|\\r|\\n", " ");
, который заменяет каждый разделитель строки пробелом.