无法恢复删除文件

时间:2016-07-19 07:47:54

标签: c#

当您删除文件时,作为c#的一种方式,填写写入文件的零簇

这可以通过c#?

完成

P.S。没有完整格式

1 个答案:

答案 0 :(得分:0)

以下是有关BugFinder评论的一些代码。该方法用4KB零字节块覆盖文件数据。

public static class FileHelper
    {
        public static void EraseFile(string fileName)
        {
            var fileInfo = new FileInfo(fileName);
            var zeroBuffer = new byte[4096];
            using (var file = new FileStream(fileName, FileMode.Open, FileAccess.Write))
            {
                while (file.Position < fileInfo.Length)
                {
                    var bytesToWrite = (int)Math.Min(4096, fileInfo.Length - file.Position);
                    file.Write(zeroBuffer, 0, bytesToWrite);
                }
                file.Flush(true);
            }
            File.Delete(fileName);
        }
    }