我似乎无法弄清楚如何在不覆盖文件的情况下将数据写入文件。我知道我可以使用File.appendtext但我不知道如何将其插入到我的语法中。这是我的代码:
TextWriter tsw = new StreamWriter(@"C:\Hello.txt");
//Writing text to the file.
tsw.WriteLine("Hello");
//Close the file.
tsw.Close();
我希望每次运行程序时都写Hello,而不是覆盖以前的文本文件。感谢您阅读本文。
答案 0 :(得分:52)
通过true
as the append
parameter of the constructor:
TextWriter tsw = new StreamWriter(@"C:\Hello.txt", true);
答案 1 :(得分:10)
更改构造函数以将true作为第二个参数传递。
TextWriter tsw = new StreamWriter(@"C:\Hello.txt", true);
答案 2 :(得分:5)
您必须以new StreamWriter(filename, true)
打开,以便将其附加到文件而不是覆盖。
答案 3 :(得分:4)
这是一段将值写入日志文件的代码。如果文件不存在,则创建它,否则它只会附加到现有文件。您需要添加“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();
答案 4 :(得分:2)
最好的事情是
File.AppendAllText("c:\\file.txt","Your Text");
答案 5 :(得分:1)
查看File类。
您可以使用
创建一个编写器StreamWriter sw = File.Create(....)
您可以使用
打开现有文件File.Open(...)
您可以使用
轻松附加文字File.AppendAllText(...);
答案 6 :(得分:1)
首先检查文件名是否已经存在,如果是,则创建一个文件并同时关闭它,然后使用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);
}
答案 7 :(得分:0)
using (StreamWriter writer = File.AppendText(LoggingPath))
{
writer.WriteLine("Text");
}
答案 8 :(得分:0)
以上都不起作用我自己找到了解决方案
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 + ",");
}