Я пытаюсь написать программу, которая манипулирует строками Юникода, считываемыми из файла. Я подумал о двух подходах - один, где я читаю весь файл, содержащий новые строки, выполняю пару замен регулярных выражений и записываю его обратно в другой файл; другой, где я читаю в файле построчно и сопоставляю отдельные строки, подставляю их и выписываю. Я не смог протестировать первый подход, потому что новые строки в строке не записываются как новые строки в файл. Вот пример кода для иллюстрации:
String output = "Hello\nthere!";
BufferedWriter oFile = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("test.txt"), "UTF-16"));
System.out.println(output);
oFile.write(output);
oFile.close();
Оператор печати выводит
Hello
есть!
но содержимое файла
Hellothere!
Почему мои переводы строк не записываются в файл?