আমি একটি টেক্সট ফাইল তৈরি করতে এবং এটিতে লিখতে চাই এবং ফাইলটি ইতিমধ্যে উপস্থিত থাকলে আমি আরও কয়েকটি লাইন যুক্ত করতে চাই:
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আগে কখনও এই পদ্ধতিটি ব্যবহার করিনি। আমি সি # তে সম্পূর্ণ নতুন।
File.Openঅভ্যন্তরীণভাবে একটি WinAPI ফাংশনে প্রতিনিধি (পরবর্তী মন্তব্য দেখুন) আশা করি রেসের শর্তটি রোধ করছে। এখানে বেশিরভাগ সমাধানগুলি এটি করে না এবং স্পষ্টতই বর্ণের শর্ত সাপেক্ষে।
if (file exists) { open file }সমস্ত প্রোগ্রামিং ভাষায় প্যাটার্নটি প্রায় সর্বদা ভুল! .NET এর জন্য সমাধানটিFile.Open(path, FileMode.Append, FileAccess.ReadWrite)উপযুক্ত পতাকা সহ ব্যবহার করা।