C# 保存到现有文本文件c的结尾#
我编写了以下代码,因为我想以列表的形式将字符串保存到文本文件的末尾 但是,当我试图保存某些内容时,它会删除文件中以前的所有文本,只添加最近的文本。以下是我的代码:C# 保存到现有文本文件c的结尾#,c#,save,streamwriter,C#,Save,Streamwriter,我编写了以下代码,因为我想以列表的形式将字符串保存到文本文件的末尾 但是,当我试图保存某些内容时,它会删除文件中以前的所有文本,只添加最近的文本。以下是我的代码: using (var writer = new StreamWriter(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt")) { writer.WriteLine(productTextBo
using (var writer = new StreamWriter(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt"))
{
writer.WriteLine(productTextBox.Text + Environment.NewLine);
writer.Close();
}
提前谢谢你,Lucy你现在每次写的时候都会覆盖文件的内容 StreamWriter还有第二个参数,您必须将其设置为true才能追加文本:
每次写入时,您当前只是覆盖文件的内容 StreamWriter还有第二个参数,您必须将其设置为true才能追加文本:
请尝试将此代码添加到新的StreamWriter构造函数
new FileStream(@"path/to/file", FileMode.Append, FileAccess.Write)
有关更多信息,请查看Hi,尝试将此代码添加到新的StreamWriter构造函数中
new FileStream(@"path/to/file", FileMode.Append, FileAccess.Write)
有关更多信息,请查看您可以更轻松地完成。对类“File”(AppendAllLines、AppendText、AppendAllText)使用一些静态方法。例如:
File.AppendAllLines("filename.txt", new string[] { "my appended text" });
你可以做得更容易些。对类“File”(AppendAllLines、AppendText、AppendAllText)使用一些静态方法。例如:
File.AppendAllLines("filename.txt", new string[] { "my appended text" });
这是因为您正在覆盖以前的内容。您需要先阅读内容,然后将其临时存储,然后用新文本再次写入。大概是这样的:
//Reading text
string text = System.IO.File.ReadAllText(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt");
using (var writer = new StreamWriter(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt"))
{
writer.WriteLine(text + productTextBox.Text + Environment.NewLine);
writer.Close();
}
这是因为您正在覆盖以前的内容。您需要先阅读内容,然后暂时存储,然后用新文本再次写入。大概是这样的:
//Reading text
string text = System.IO.File.ReadAllText(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt");
using (var writer = new StreamWriter(@"C:\Users\Falconex\Documents\Visual Studio 2015\Projects\Test2\Test2\bin\Debug\Product.txt"))
{
writer.WriteLine(text + productTextBox.Text + Environment.NewLine);
writer.Close();
}
试试这个:
using (var writer = new StreamWriter(filepath, true))
{
{
writer.Write(productTextBox.Text + Environment.NewLine);
}
writer.Close();
}
该true
参数告诉StreamWriter
如果文件存在,则追加文本尝试以下操作:
using (var writer = new StreamWriter(filepath, true))
{
{
writer.Write(productTextBox.Text + Environment.NewLine);
}
writer.Close();
}
该true
参数告诉StreamWriter
如果文件存在,则追加文本