J'utilise la fonction suivante pour écrire une chaîne dans un fichier. La chaîne est formatée avec des caractères de nouvelle ligne.Java: BufferedWriter sautant la ligne de retour
Par exemple, text = "sometext\nsomemoretext\nlastword";
Je suis en mesure de voir les sauts de ligne du fichier de sortie lorsque je fais:
type outputfile.txt
Cependant, quand j'ouvre le texte dans le bloc-notes, je ne vois pas la nouvelles lignes. Tout se présente sur une seule ligne.
Pourquoi cela se produit-il? Comment puis-je m'assurer que j'écris correctement le texte pour pouvoir le voir correctement (formaté) dans le bloc-notes.
private static void FlushText(String text, File file)
{
Writer writer = null;
try
{
writer = new BufferedWriter(new FileWriter(file));
writer.write(text);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (writer != null)
{
writer.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Oh. Maintenant j'utilise System.getProperty ("line.separator"); Impossible d'utiliser BufferedWriter.newLine() car j'ai besoin de remplir la chaîne complète avant de l'écrire. – devnull
Cela m'a sauvé. Je travaille avec Wicket, et BufferedWriter.newLine() a travaillé localement, mais pas sur tomcat .. J'ai essayé le \ r \ n et cela a fonctionné comme un charme .. Merci! – eaglei22