专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

c# 删除文件,清理删除文件

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:02:09       共计:3603 浏览

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)

           {

           }

       }

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C# 删除文件以及文件夹 | ·下一条:redis安装后,输入redis-server.exe redis.windows.conf无法启动

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有