在C#中重写txt文件
本文关键字:txt 文件 重写 | 更新日期: 2023-09-27 18:16:06
更新很抱歉没有解释清楚。我想要的输出是用新的文本更新保存文件,而不是在行尾继续写。不确定我的解释是否正确。如果我错了,请纠正我。非常感谢。
试图覆盖整个.txt文件。但它只是继续在文件中添加更多的行,而不是覆盖它。尝试在outfile中设置true,但仍然不起作用。如果有人能教我如何覆盖文本文件,那就太好了。
提前谢谢。
private void bttSave_Click(object sender, EventArgs e)
{
outFile = new FileStream(FILENAME, FileMode.Append, FileAccess.Write); //Creating a file stream object to open file for reading
writer = new StreamWriter(outFile); //creating a stream writer with the outfile file stream object
for(int i = 0; i < DataGridResult.RowCount; i++)
{
writer.WriteLine(adminNoTxt.Text + DELIM + DataGridResult.Rows[i].Cells[0].Value.ToString() + DELIM + DataGridResult.Rows[i].Cells[1].Value.ToString() + DELIM + DataGridResult.Rows[i].Cells[2].Value.ToString());
//using stream writer to write a record
}
writer.Close();
outFile.Close();
}
使用FileMode.Create
而不是FileMode.Append
。
Create
在不存在的情况下创建一个新文件,如果存在则覆盖该文件Append
确实在末尾附加了它
请参阅http://msdn.microsoft.com/library/system.io.filemode%28v=vs.110%29.aspx
只需使用FileMode.Create
而不是FileMode.Append
。
他们都会检查文件是否不存在,创建它,然后从第一个开始写入文件。
但不同的是,"追加">不会删除旧数据并在文件末尾添加新数据,而是《创建》首先删除所有旧数据,然后在文件的第一个中写入新数据。