我想要用这种方法清除文本文件内容
private void writeTextFile(string filePath, string text)
{
if (!File.Exists(filePath))
{
File.Create(filePath).Close();
}
using (StreamWriter tw = new StreamWriter(filePath))
{
File.WriteAllText(filePath,"");
tw.WriteLine(text);
tw.Close();
}
}
但我收到这个错误
The process cannot access the file because it is being used by another process.
但这在任何地方都没有开放,
请帮我
谢谢
那是因为你正在创建一个StreamWriter
,然后使用File.WriteAllText
。您的文件已被访问StreamWriter
.
File.WriteAllText
就是这样做的,将传递给它的整个字符串写入文件。StreamWriter
如果你要使用的话是不必要的File.WriterAllText
.
如果您不关心覆盖现有文件,您可以这样做:
private void writeTextFile(string filePath, string text)
{
File.WriteAllText(filePath, text);
}
如果你想使用StreamWriter
(顺便说一句,File.WriteAllText
使用,它只是隐藏它),并附加到文件,你可以这样做(从这个答案 https://stackoverflow.com/questions/10383053/create-file-if-file-does-not-exist):
using(StreamWriter sw = File.AppendText(path))
{
tw.WriteLine(text);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)