2013-03-31 10 views
10
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); 
} 

ma non funziona, si prega di dare qualche aiuto per append o PrintWriter metodo, non ho idea di come utilizzare questi metodi.utilizzare per le linee di scrittura di loop uno per uno in file usando java

ho bisogno del file di output come

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

grazie

+0

Quale cosa non funziona? O si verifica qualche errore? –

+0

possibile duplicato di [Come salvare una stringa in un file di testo utilizzando Java?] (Http://stackoverflow.com/questions/1053467/how-do-i-save-a-string-to-a-text- file-using-java) – dunni

risposta

33

Il codice è la creazione di un nuovo file per ogni linea. Apri il file all'esterno del ciclo 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(); 

Se si desidera utilizzare PrintWriter, provate questo

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

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

l'aggiunta di '\ n' non è molto portabile. dovresti usare un wrapper buffer buffer quindi 'newLine();' – Oren

+0

grazie al suo buon funzionamento. – Piyush

-1

Basta provare questo:

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

Non vedo il metodo newLine() nell'API –

+0

Non vedo anche. –

2

PrintWriter.printf sembra essere la più appropriata

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