বিদ্যমান ফাইলটি খুলুন, একটি একক লাইন যুক্ত করুন


260

আমি একটি পাঠ্য ফাইল খুলতে চাই, এতে একটি লাইন যুক্ত করতে পারি, তারপরে এটি বন্ধ করতে পারি।

উত্তর:



121
using (StreamWriter w = File.AppendText("myFile.txt"))
{
  w.WriteLine("hello");
}

2
কোনও ফাইলকে লেখার এটি সঠিক উপায় হ'ল স্মৃতি সমস্যা এড়াতে আপনি প্রচুর লাইন তৈরি করছেন।
অস্কার ফ্রেক্সেডাস

81

পছন্দ এক! তবে প্রথমটি খুব সহজ। ফাইল হেরফের জন্য শেষ সম্ভবত ব্যবহার:

//Method 1 (I like this)
File.AppendAllLines(
    "FileAppendAllLines.txt", 
    new string[] { "line1", "line2", "line3" });

//Method 2
File.AppendAllText(
    "FileAppendAllText.txt",
    "line1" + Environment.NewLine +
    "line2" + Environment.NewLine +
    "line3" + Environment.NewLine);

//Method 3
using (StreamWriter stream = File.AppendText("FileAppendText.txt"))
{
    stream.WriteLine("line1");
    stream.WriteLine("line2");
    stream.WriteLine("line3");
}

//Method 4
using (StreamWriter stream = new StreamWriter("StreamWriter.txt", true))
{
    stream.WriteLine("line1");
    stream.WriteLine("line2");
    stream.WriteLine("line3");
}

//Method 5
using (StreamWriter stream = new FileInfo("FileInfo.txt").AppendText())
{
    stream.WriteLine("line1");
    stream.WriteLine("line2");
    stream.WriteLine("line3");
}



2

ফাইল.অ্যাপেন্ডটেক্সট এটি করবে:

using (StreamWriter w = File.AppendText("textFile.txt")) 
{
    w.WriteLine ("-------HURRAY----------");
    w.Flush();
}

2

প্রযুক্তিগতভাবে সর্বোত্তম উপায় সম্ভবত এটি এখানে:

private static async Task AppendLineToFileAsync([NotNull] string path, string line)
{
    if (string.IsNullOrWhiteSpace(path)) 
        throw new ArgumentOutOfRangeException(nameof(path), path, "Was null or whitepsace.");

    if (!File.Exists(path)) 
        throw new FileNotFoundException("File not found.", nameof(path));

    using (var file = File.Open(path, FileMode.Append, FileAccess.Write))
    using (var writer = new StreamWriter(file))
    {
        await writer.WriteLineAsync(line);
        await writer.FlushAsync();
    }
}

1
দ্রুত উত্তরাধিকার হিসাবে ডাকা হলে একটি ত্রুটি নিক্ষেপ করার একমাত্র বিকল্প
এলিয়েন টেকনোলজি

0
//display sample reg form in notepad.txt
using (StreamWriter stream = new FileInfo("D:\\tt.txt").AppendText())//ur file location//.AppendText())
{
   stream.WriteLine("Name :" + textBox1.Text);//display textbox data in notepad
   stream.WriteLine("DOB : " + dateTimePicker1.Text);//display datepicker data in notepad
   stream.WriteLine("DEP:" + comboBox1.SelectedItem.ToString());
   stream.WriteLine("EXM :" + listBox1.SelectedItem.ToString());
}

0

আমরা ব্যবহার করতে পারি

public StreamWriter(string path, bool append);

ফাইলটি খোলার সময়

string path="C:\\MyFolder\\Notes.txt"
StreamWriter writer = new StreamWriter(path, true);

প্রথম পরামিতিটি একটি পুরো ফাইল পাথ ধরে রাখার একটি স্ট্রিং দ্বিতীয় প্যারামিটারটি অ্যাপেন্ড মোড হয়, এই ক্ষেত্রে এটি সত্য হয়ে যায়

ফাইলটিতে লেখার মাধ্যমে এটি করা যেতে পারে:

writer.Write(string)

অথবা

writer.WriteLine(string)

কোডের উদাহরণ

private void WriteAndAppend()
{
            string Path = Application.StartupPath + "\\notes.txt";
            FileInfo fi = new FileInfo(Path);
            StreamWriter SW;
            StreamReader SR;
            if (fi.Exists)
            {
                SR = new StreamReader(Path);
                string Line = "";
                while (!SR.EndOfStream) // Till the last line
                {
                    Line = SR.ReadLine();
                }
                SR.Close();
                int x = 0;
                if (Line.Trim().Length <= 0)
                {
                    x = 0;
                }
                else
                {
                    x = Convert.ToInt32(Line.Substring(0, Line.IndexOf('.')));
                }
                x++;
                SW = new StreamWriter(Path, true);
                SW.WriteLine("-----"+string.Format("{0:dd-MMM-yyyy hh:mm:ss tt}", DateTime.Now));
                SW.WriteLine(x.ToString() + "." + textBox1.Text);

            }
            else
            {
                SW = new StreamWriter(Path);
                SW.WriteLine("-----" + string.Format("{0:dd-MMM-yyyy hh:mm:ss tt}", DateTime.Now));
                SW.WriteLine("1." + textBox1.Text);
            }
            SW.Flush();
            SW.Close();
        }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.