При сохранении переменной string в файл txt, с помощью FileChooser пропадает перевод строки.
Поискав в гугле, нашел решение в виде замены "\n" на
System.getProperty("line.separator");
Однако даже это не помогло. Как и замена на "\r\n" и тому подобное
Сохранение в файл:
FileChooser fc = new FileChooser();
FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter("txt files (*.txt)", "*.txt");
fc.getExtensionFilters().add(filter);
File file = fc.showSaveDialog(null);
if (file != null) {
try {
PrintWriter write = new PrintWriter(file.getAbsolutePath());
write.print(OutputText); // где OutputText нужный мне string
write.close();
} catch (FileNotFoundException fileNotFoundException) {
...
}
}
UPD: Так же, главное что было замечено, это то, что если использовать line-separator НО, в этом же классе. Например перед строчкой write.print(OutputText); добавить:
String OutputText = "awd";
OutputText += System..("line.."); //ну тут понятно
... и.т.д.
То, тогда все работает отлично! Но если я OutputText беру из другого класса, все портится. Хотя там реализовано все тем же сепаратором.
В чем возможна проблема? и куда стоит копать?
UPD2: OutputText формируется в другом классе, тем путем что к исходному OutputText (изначально пустому) += из результатов всяких функций которые возвращают string. Внутри функций используется тоже сепаратор.
java version "1.8.0_161"
Сборка персонального компьютера от Artline: умный выбор для современных пользователей