Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как записать данные в текстовый файл без перезаписи текущих данных

Автор вопроса: llkОтветов: 8

Я не могу понять, как записать данные в файл, не перезаписывая его. Я знаю, что могу использовать File.appendtext, но не знаю, как включить это в свой синтаксис. Вот мой код:

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

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

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

Я хочу, чтобы он писал Hello каждый раз, когда я запускаю программу, а не перезаписывал предыдущий текстовый файл. Спасибо, что прочитали это.

  • Что здесь означает @? Благодарность user2420472 31.01.2014

textoverwrite

Ответы

Ответ 1 · рейтинг 59 · SLaks

Передайте true в качестве append параметра конструктора:

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

Ответ 2 · рейтинг 10 · sarvesh

Измените свой конструктор, чтобы передать true в качестве второго аргумента.

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

Ответ 3 · рейтинг 5 · Jesus Ramos

Вы должны открыть как new StreamWriter(filename, true), чтобы он добавлялся к файлу, а не перезаписывался.

Ответ 4 · рейтинг 4 · Sagar Kute

Вот фрагмент кода, который будет записывать значения в файл журнала. Если файл не существует, он создает его, в противном случае он просто добавляется к существующему файлу. Вам нужно добавить "используя 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();

Ответ 5 · рейтинг 2 · Umesh CHILAKA

Лучше всего это

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

Ответ 6 · рейтинг 1 · Tod

Загляните в класс File.

Вы можете создать стример с помощью

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

Вы можете открыть существующий файл с

File.Open(...)

Вы можете легко добавить текст с помощью

File.AppendAllText(...);

Ответ 7 · рейтинг 1 · Community

Прежде всего проверьте, существует ли уже имя файла. Если да, создайте файл и одновременно закройте его, а затем добавьте свой текст, используя AppendAllText. Для получения дополнительной информации проверьте код ниже.


string FILE_NAME = "Log" + System.DateTime.Now.Ticks.ToString() + "." + "txt";
string str_Path = HostingEnvironment.ApplicationPhysicalPath + ("Log") + "\\" +FILE_NAME;


 if (!File.Exists(str_Path))
 {
     File.Create(str_Path).Close();
    File.AppendAllText(str_Path, jsonStream + Environment.NewLine);

 }
 else if (File.Exists(str_Path))
 {

     File.AppendAllText(str_Path, jsonStream + Environment.NewLine);

 }

Ответ 8 · Διονύσης Πρόκος

ничего из вышеперечисленного не помогло, я сам нашел решение

 using (StreamWriter wri = File.AppendText("clients.txt"))
        {
            wri.WriteLine(eponimia_txt.Text + "," + epaggelma_txt.Text + "," + doy_txt.Text + "," + dieuthini_txt.Text + ","
                + proorismos_txt.Text + "," + poly_txt.Text + "," + sxePara_txt.Text + "," + afm_txt.Text + ","
                + toposFortosis_txt.Text + ",");
        }

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы