如何清除文本文件内容c#

2023-12-19

我想要用这种方法清除文本文件内容

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(使用前将#替换为@)

如何清除文本文件内容c# 的相关文章

随机推荐