मैं एक .txt फ़ाइल बनाना और उस पर लिखना चाहूँगा, और यदि फ़ाइल पहले से मौजूद है तो मैं बस कुछ और लाइनें जोड़ना चाहता हूँ:
string path = @"E:\AppServ\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The very first line!");
tw.Close();
}
else if (File.Exists(path))
{
TextWriter tw = new StreamWriter(path);
tw.WriteLine("The next line!");
tw.Close();
}
लेकिन पहली पंक्ति हमेशा अधिलेखित लगती है ... मैं उसी पंक्ति पर लिखने से कैसे बच सकता हूं (मैं इसे लूप में उपयोग कर रहा हूं)?
मुझे पता है कि यह बहुत आसान बात है, लेकिन मैंने WriteLine
पहले कभी इस पद्धति का इस्तेमाल नहीं किया । मैं C # से बिल्कुल नया हूं।
File.Open
आंतरिक रूप से एक WinAPI फ़ंक्शन को दर्शाता है (अगली टिप्पणी देखें) उम्मीद है कि दौड़ की स्थिति को रोक रहा है। यहां अधिकांश समाधान ऐसा नहीं करते हैं और स्पष्ट रूप से दौड़ की स्थिति के अधीन हैं।
if (file exists) { open file }
सभी प्रोग्रामिंग भाषाओं में पैटर्न लगभग हमेशा गलत होता है! .NET के लिए समाधानFile.Open(path, FileMode.Append, FileAccess.ReadWrite)
उचित झंडे के साथ उपयोग करना है।