请帮我。我试图确保单击按钮时,文件中的所有文本都被清除。
有什么问题,问我。
这是我的代码:
private void button2_Click(object sender, EventArgs e)
{
string PathFile = @"D:\ds\database.txt";
List<string> lines = new List<string>();
File.Delete(PathFile);
string test = "hello";
File.Create(PathFile);
lines.Add(test);
File.WriteAllLines(PathFile, lines);
}
但问题是它给了我一个错误。请帮帮我。
简短回答:尝试打开已以独占读取访问权限打开的文件导致异常。
你做得过火了。
File.Create(PathFile);
不仅创建一个文件,而且打开它。通常这种方法是这样使用的。FileStream
它是IDisposable
一个对象。它使文件保持打开状态,直到您使用using
,Close()
或Dispose()
. 当您重新访问已打开的文件时会发生错误。也就是说,可以像这样轻松解决问题:
但是你做了太多不必要的操作。
代码中的文件逻辑可以这样读取:
为什么同一件事做这么多次?
更正的代码
文件的内容将被简单地覆盖。如果文件不存在,则会自动创建。
要将行添加到末尾而不删除以前的行,您需要使用
AppendAllLines
.