2011-04-01 14 views
21

ग्रीटिंग्स को ओवरराइट किए बिना सी # में किसी टेक्स्ट फ़ाइल में डेटा कैसे लिखें, मुझे यह समझने में प्रतीत नहीं होता कि फ़ाइल को डेटा ओवरराइट किए बिना डेटा कैसे लिखना है। मुझे पता है कि मैं File.appendtext का उपयोग कर सकता हूं लेकिन मुझे यकीन नहीं है कि इसे मेरे वाक्यविन्यास में कैसे प्लग करें। यहाँ मेरी कोड है:वर्तमान डेटा

TextWriter tsw = new StreamWriter(@"C:\Hello.txt"); 

//Writing text to the file. 
tsw.WriteLine("Hello"); 


//Close the file. 
tsw.Close(); 

मैं इसे हैलो हर बार जब मैं कार्यक्रम चलाने लिखना चाहते हैं, पिछले पाठ फ़ाइल को अधिलेखित नहीं। इसे पढ़ने के लिए धन्यवाद।

+0

यहां @ अर्थ क्या है? धन्यवाद – user2420472

उत्तर

5

आप new StreamWriter(filename, true) के रूप में खोलने के लिए इतना है कि यह अधिलेखित करने के बजाय फाइल करने के लिए संलग्न कर देता है है।

10

दूसरे तर्क के रूप में सत्य पारित करने के लिए अपने कन्स्ट्रक्टर को बदलें।

TextWriter tsw = new StreamWriter(@"C:\Hello.txt",true); 
0
using (StreamWriter writer = File.AppendText(LoggingPath)) 
{ 
    writer.WriteLine("Text"); 
} 
2

बेस्ट बात फ़ाइल वर्ग में

File.AppendAllText("c:\\file.txt","Your Text"); 
1

देखो है।

आप

StreamWriter sw = File.Create(....) 

के साथ एक StreamWriter आप

File.Open(...) 

साथ किसी मौजूदा फ़ाइल को खोल सकते हैं आप

File.AppendAllText(...); 
2

यहाँ के साथ आसानी से पाठ संलग्न कर सकते हैं बना सकते हैं कोड का एक हिस्सा है कि लॉग फ़ाइल में मान लिखेंगे। अगर फ़ाइल मौजूद नहीं है, तो यह इसे बनाता है, अन्यथा यह केवल मौजूदा फ़ाइल में संलग्न है। आपको "System.IO का उपयोग करके" जोड़ना होगा; आपके कोड के शीर्ष पर, यदि यह पहले से मौजूद नहीं है।

string strLogText = "Some details you want to log."; 

// Create a writer and open the file: 
StreamWriter log; 

if (!File.Exists("logfile.txt")) 
{ 
    log = new StreamWriter("logfile.txt"); 
} 
else 
{ 
    log = File.AppendText("logfile.txt"); 
} 

// Write to the file: 
log.WriteLine(DateTime.Now); 
log.WriteLine(strLogText); 
log.WriteLine(); 

// Close the stream: 
log.Close(); 
संबंधित मुद्दे