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

का उपयोग कर, लेकिन यह काम नहीं करता है, append या PrintWriter विधि के लिए कुछ मदद दे कृपया, मैं पता नहीं कैसे इन तरीकों का उपयोग करने के लिए है।पाश लिखने लाइनों के लिए उपयोग करते हुए एक के बाद एक फ़ाइल में जावा

मैं की तरह

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

धन्यवाद

+0

कौन सा बात काम नहीं करती है? या कोई त्रुटि होती है? –

+0

संभव डुप्लिकेट [मैं जावा का उपयोग कर एक टेक्स्ट फ़ाइल में स्ट्रिंग कैसे सहेज सकता हूं?] (Http://stackoverflow.com/questions/1053467/how-do-i-save-a-string-to-a-text- फ़ाइल-उपयोग-जावा) – dunni

उत्तर

33

आपका कोड हर पंक्ति के लिए एक नई फ़ाइल पैदा कर रही है आउटपुट फ़ाइल की जरूरत है। लूप के बाहर फ़ाइल को खोलें।

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

'\ n' संलग्न करना बहुत पोर्टेबल नहीं है। आपको एक buffered लेखक wrapper का उपयोग करना चाहिए, फिर 'newLine(); ' – Oren

+0

धन्यवाद इसके काम को धन्यवाद। – Piyush

-1

बस इस कोशिश का प्रयास करें:

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

मुझे एपीआई –

+0

में newLine() विधि नहीं दिखाई दे रही है, मुझे यह भी दिखाई नहीं देता है। –

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(); 
संबंधित मुद्दे