2011-04-10 9 views
7

मेरे पास एक GUI में एक बटन है, और जब बटन दबाया जाता है तो उपयोगकर्ता को टेक्स्ट फ़ाइल में जानकारी जोड़ने की क्षमता होती है। मेरे पास यह हिस्सा ठीक है, लेकिन मेरे साथ गड़बड़ करने वाली बात यह है कि जब उपयोगकर्ता फ़ाइल को लिखता है तो यह टेक्स्ट फ़ाइल में सभी जानकारी मिटा देता है और केवल एक ही पंक्ति शेष है जो अभी जोड़ा गया था। मुझे जानकारी जोड़ने और अभी भी मूल फ़ाइल को टेक्स्ट फ़ाइल में रखना होगा। मैंने सोचा कि एपेंड कमांड ऐसा करने में सक्षम था, लेकिन मैं स्पष्ट रूप से कुछ गलत कर रहा हूं। कोई भी सहायता कमाल की होगी!जावा फ़ाइलवाइटर - टेक्स्ट फ़ाइल की लाइन संलग्न करें

FileWriter fWriter = null; 
    BufferedWriter writer = null; 
    try { 
     fWriter = new FileWriter("info.txt"); 
     writer = new BufferedWriter(fWriter); 


     writer.append(javax.swing.JOptionPane.showInputDialog(this, "add info")); 
     writer.newLine(); 
     writer.close(); 
    } catch (Exception e) { 
    } 

उत्तर

1

आप writer.flush() की जरूरत है:

यहाँ मेरी कोड है। PrintWriter डिफ़ॉल्ट रूप से ऑटो फ्लश हैं लेकिन Writers

+1

'क्लोज़()' फ्लश होगा, इसकी आवश्यकता नहीं है। – Mat

11

bool append पैरामीटर लेने वाले निर्माता का उपयोग करें। इसके लिए FileWriter के लिए javadocs देखें।

fWriter = new FileWriter("info.txt", true); 
+0

यहां (सूर्य जेवीएम @ उबंटू), ऐसा लगता है कि फ़ाइलवाइटर ("info.txt") अकेले उपयोग किया जाता है, संलग्न करना पसंद किया जाता है। किसी भी संभावना है कि "डिफ़ॉल्ट" कन्स्ट्रक्टर के दस्तावेज में वास्तविक चेतावनी के बिना woudld मंच-निर्भर हो? – PypeBros

संबंधित मुद्दे