zoukankan      html  css  js  c++  java
  • c# 删除文件,清理删除文件

    c# 删除程序占用的文件,清理删除文件,彻底删除文件,解除文件占用

    文件打开时,以共享读写模式打开

    FileStream inputStream = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);  
    p.BackgroundImage = new Bitmap(inputStream);  
    inputStream.Dispose();  
     
    
    //删除文件
    
     
    
    public void WipeFile(string filename, int timesToWrite)  
            {  
                try  
                {  
                    if (File.Exists(filename))  
                    {  
                        //设置文件的属性为正常,这是为了防止文件是只读  
                        File.SetAttributes(filename, FileAttributes.Normal);  
                        //计算扇区数目  
                        double sectors = Math.Ceiling(new FileInfo(filename).Length / 512.0);  
                        // 创建一个同样大小的虚拟缓存  
                        byte[] dummyBuffer = new byte[512];  
                        // 创建一个加密随机数目生成器  
                        RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();  
                        // 打开这个文件的FileStream  
                        FileStream inputStream = new FileStream(filename, FileMode.Open, FileAccess.Write, FileShare.ReadWrite);  
                        for (int currentPass = 0; currentPass < timesToWrite; currentPass++)  
                        {  
                            // 文件流位置  
                            inputStream.Position = 0;  
                            //循环所有的扇区  
                            for (int sectorsWritten = 0; sectorsWritten < sectors; sectorsWritten++)  
                            {  
                                //把垃圾数据填充到流中  
                                rng.GetBytes(dummyBuffer);  
                                // 写入文件流中  
                                inputStream.Write(dummyBuffer, 0, dummyBuffer.Length);  
                            }  
                        }  
                        // 清空文件  
                        inputStream.SetLength(0);  
                        // 关闭文件流  
                        inputStream.Close();  
                        // 清空原始日期需要  
                        DateTime dt = new DateTime(2037, 1, 1, 0, 0, 0);  
                        File.SetCreationTime(filename, dt);  
                        File.SetLastAccessTime(filename, dt);  
                        File.SetLastWriteTime(filename, dt);  
                        // 删除文件  
                        File.Delete(filename);  
                    }  
                }  
                catch (Exception)  
                {  
                }  
            } 
    

      

    转载自http://blog.csdn.net/pigkeli/article/details/28877279?utm_source=tuicool

  • 相关阅读:
    购买绝版书的好地方——淘宝
    ASP.NET MVC轻教程 Step By Step 1 ——入门
    ASP.NET MVC轻教程 Step By Step 2 ——View初探
    快速启动WebDev.WebServer的方法
    Surface RT使用手记
    ASP.NET MVC轻教程 Step By Step 3 ——使用ViewBag
    Asp.net MVC分页实例
    图示近四年来国外主流编程语言发展趋势
    ASP.NET MVC轻教程 Step By Step 4——Model、View和Controller
    Asp.net MVC使用KindEditor4
  • 原文地址:https://www.cnblogs.com/tianjiaxiaobaicai/p/4770663.html
Copyright © 2011-2022 走看看