如何在不删除文件的情况下清除文本文件?

时间:2010-10-18 09:02:50

标签: c# .net vb.net

问题:在添加信息之前,我需要清除一个ini文件。

不幸的是,如果我只删除该文件,权限也会消失。

有没有办法删除文件的内容而不删除文件?

4 个答案:

答案 0 :(得分:7)

    String path = "c:/file.ini";
    using (var stream = new FileStream(path, FileMode.Truncate))
    {
        using (var writer = new StreamWriter(stream))
        {
            writer.Write("data");
        }
    }

答案 1 :(得分:5)

只需以截断(即非追加)模式打开文件并关闭它。然后它的内容消失了。或者使用My命名空间中的快捷方式:

My.Computer.FileSystem.WriteAllText("filename", "", False)

答案 2 :(得分:4)

我不是百分百肯定,但你可以试试这个:

File.WriteAllText( filename, "");

我不确定这是否会删除,并重新创建文件(在这种情况下,您的权限问题会持续存在,或者是否会清除文件。请尝试一下!

答案 3 :(得分:3)

这应该可行:

using (File.Create("your filename"));

这里,因为使用没有块;在行尾。 File.Create截断文件本身,并使用立即关闭它。