Как написать новую строку в Java FileOutputStream

Я хочу написать новую строку, используя FileOutputStream; Я пробовал следующие подходы, но никто из них не работает:

encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());

Ответ 1

Это может быть проблема с зрителем... Попробуйте открыть файл в EditPlus или Notepad ++. Windows Notepad может не распознать фид строки другой операционной системы. В какой программе вы просматриваете файл сейчас?

Ответ 2

Это должно сработать. Вероятно, вы забыли позвонить encfileout.flush().

Однако это не лучший способ писать тексты. Вы должны обернуть поток вывода с помощью PrintWriter и пользоваться его методами println():

PrintWriter writer = new PrintWriter(new OutputStreamWriter(encfileout, charset));

В качестве альтернативы вы можете использовать FileWriter вместо FileOutputStream с самого начала:

 FileWriter fw = new FileWriter("myfile");
 PrintWriter writer = new PrintWriter(fw);

Теперь просто вызовите

 writer.println();

И не забудьте позвонить flush() и close(), когда вы закончите свою работу.