Je veux écrire une nouvelle ligne en utilisant un FileOutputStream
; J'ai essayé les approches suivantes, mais aucune ne fonctionne:
encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
Cela pourrait être un problème de visionneuse ... Essayez d'ouvrir le fichier dans EditPlus ou Notepad ++. Le Bloc-notes Windows peut ne pas reconnaître le saut de ligne d'un autre système d'exploitation. Dans quel programme consultez-vous actuellement le fichier?
Cela devrait fonctionner. Vous avez probablement oublié d'appeler encfileout.flush()
.
Cependant, ce n'est pas la façon préférée d'écrire des textes. Vous devez envelopper votre flux de sortie avec PrintWriter
et profiter de ses méthodes println()
:
PrintWriter writer = new PrintWriter(new OutputStreamWriter(encfileout, charset));
Vous pouvez également utiliser FileWriter
au lieu de FileOutputStream
depuis le début:
FileWriter fw = new FileWriter("myfile");
PrintWriter writer = new PrintWriter(fw);
Maintenant, appelez
writer.println();
Et n'oubliez pas d'appeler flush()
et close()
lorsque vous avez terminé votre travail.