Как записать данные в текстовый файл в C# без перезаписи текущих данных
Привет, я не могу понять, как записать данные в файл без перезаписи. Я знаю, что могу использовать File.appendtext, но я не уверен, как подключить это к моему синтаксису. Вот мой код:
TextWriter tsw = new StreamWriter(@"C:\Hello.txt");
//Writing text to the file.
tsw.WriteLine("Hello");
//Close the file.
tsw.Close();
Я хочу, чтобы он писал Привет каждый раз, когда я запускаю программу, а не перезаписывал предыдущий текстовый файл. Спасибо, что прочитали это.
9 ответов
Проходить true
как append
Параметр конструктора:
TextWriter tsw = new StreamWriter(@"C:\Hello.txt", true);
Измените ваш конструктор, чтобы передать true в качестве второго аргумента.
TextWriter tsw = new StreamWriter(@"C:\Hello.txt",true);
Вы должны открыть как new StreamWriter(filename, true)
так что он добавляется в файл вместо перезаписи.
Вот кусок кода, который будет записывать значения в файл журнала. Если файл не существует, он создает его, в противном случае он просто добавляется к существующему файлу. Вам нужно добавить "using 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();
Лучшая вещь это
File.AppendAllText("c:\\file.txt","Your Text");
Посмотрите на класс File.
Вы можете создать потоковую запись с
StreamWriter sw = File.Create(....)
Вы можете открыть существующий файл с
File.Open(...)
Вы можете легко добавлять текст с
File.AppendAllText(...);
Прежде всего, проверьте, существует ли имя файла. Если да, то создайте файл и закройте его одновременно, затем добавьте свой текст, используя 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);
}
using (StreamWriter writer = File.AppendText(LoggingPath))
{
writer.WriteLine("Text");
}
ничего из вышеперечисленного не помогло я сам нашел решение
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 + ",");
}