Подтвердить что ты не робот

Использование для записи строк цикла один за другим в файле с использованием 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);
}

но он не работает, пожалуйста, дайте некоторую помощь для метода append или PrintWriter, я понятия не имею, как использовать эти методы.

Мне нужен файл, например

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

спасибо

4b9b3361

Ответ 1

Ваш код создает новый файл для каждой строки. Вытяните файл открытым за пределами цикла 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();

Если вы хотите использовать PrintWriter, попробуйте это

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

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

Ответ 2

PrintWriter.printf представляется наиболее подходящим

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();

Ответ 3

Просто попробуйте следующее:

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);
}