web-dev-qa-db-fra.com

en utilisant pour les lignes d'écriture de boucle une par une dans le fichier en utilisant java

for(i=0;i<10;i++){
    String output = output + "Result "+ i +" : "+ ans +"\n";   //ans from other logic
    FileWriter f0 = new FileWriter("output.txt");
    f0.write(output);
}

mais cela ne fonctionne pas, veuillez donner de l'aide pour la méthode append ou PrintWriter, je ne sais pas comment utiliser ces méthodes.

j'ai besoin d'une sortie de fichier comme

Result 1 : 45           //here 45 is ans
Result 2 : 564856
Result 3 : 879
.
.
.
.
Result 10 : 564

merci

14
Piyush

Votre code crée un nouveau fichier pour chaque ligne. Tirez le fichier ouvert à l'extérieur de la boucle for.

FileWriter f0 = new FileWriter("output.txt");

String newLine = System.getProperty("line.separator");


for(i=0;i<10;i++)
{
    f0.write("Result "+ i +" : "+ ans + newLine);
}
f0.close();

Si vous souhaitez utiliser PrintWriter, essayez ceci

PrintWriter f0 = new PrintWriter(new FileWriter("output.txt"));

for(i=0;i<10;i++)
{
    f0.println("Result "+ i +" : "+ ans);
}
f0.close();
43
user93353

PrintWriter.printf semble être le plus approprié

PrintWriter pw = new PrintWriter(new FileWriter("output.txt"));
    for (int i = 0; i < 10; i++) {
        pw.printf("Result %d : %s %n",  i, ans);
    }
    pw.close();
2
Evgeniy Dorofeev

Essayez ceci:

FileWriter f0 = new FileWriter("output.txt");
for(i=0;i<10;i++){
    f0.newLine();
    String output = output + "Result "+ i +" : "+ ans;   //ans from other logic
    f0.append(output);
}
0
lokoko