Я хочу написать новую строку, используя FileOutputStream
; Я пробовал следующие подходы, но ни один из них не работает:
encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
Я хочу написать новую строку, используя FileOutputStream
; Я пробовал следующие подходы, но ни один из них не работает:
encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
Это может быть проблема со средством просмотра... Попробуйте открыть файл в EditPlus или Notepad++. Блокнот Windows может не распознавать перевод строки другой операционной системы. В какой программе вы сейчас просматриваете файл?
Это должно работать. Вероятно, вы забыли позвонить 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()
, когда закончите работу.
Чтобы добавить разрыв строки, используйте fileOutputStream.write(10);, поскольку десятичное значение 10 представляет новую строку в ASCII.