• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现彻底删除文件的方法

C#实现彻底删除文件的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#实现文件上传,c#实现文件传输,c#实现文件加密,c#实现文件下载,c#实现文件下载实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#实现彻底删除文件的方法。分享给大家供大家参考。具体实现方法如下:

经常用360的文件粉碎,删除隐私文件貌似还不错的。不过C#也可以实现彻底删除文件。试了下用360文件恢复恢复不了源文件了。

主要代码如下:
{ 
       public event EventHandler FinishDeleteFileEvent = null; 
       public event EventHandler FinishDeleteFolderEvent = null; 
       public event EventHandler DeleteErrorEvent = null; 
       public string ErrorString = string.Empty; 
       public void DoAbsoluteDeleteFile(object filePath) 
       { 
           try 
           { 
               string filename = filePath.ToString(); 
               if (string.IsNullOrEmpty(filename)) 
               { 
                   return; 
               } 
               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 inputStream = new FileStream(filename, FileMode.Open); 
                   inputStream.Position = 0; 
                   for (int sectorsWritten = 0; sectorsWritten < sectors; sectorsWritten++) 
                   { 
                       rng.GetBytes(dummyBuffer); 
                       inputStream.Write(dummyBuffer, 0, dummyBuffer.Length); 
                       sectorsWritten++; 
                   } 
                   inputStream.SetLength(0); 
                   inputStream.Close(); 
                   DateTime dt = new DateTime(2049, 1, 1, 0, 0, 0); 
                   File.SetCreationTime(filename, dt); 
                   File.SetLastAccessTime(filename, dt); 
                   File.SetLastWriteTime(filename, dt); 
                   File.Delete(filename); 
                   WipeDone(); 
               } 
           } 
           catch (Exception e) 
           { 
               WipeError(e); 
           } 
       } 
       public void DoDeleteFolder(object folder) 
       { 
           string folderPath = folder.ToString(); 
           if (string.IsNullOrEmpty(folderPath)) 
           { 
               return; 
           } 
           DirectoryInfo direct = new DirectoryInfo(folderPath); 
           FileSystemInfo[] filesystem = direct.GetFileSystemInfos(); 
           if (filesystem == null || filesystem.Length == 0) 
           { 
               direct.Delete(); 
           } 
           else 
           { 
               foreach (FileSystemInfo fileItem in filesystem) 
               { 
                   if (fileItem is FileInfo) 
                   { 
                 &

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#实现rar压缩与解压缩文件的方法
  • C#实现对文件进行加密解密的方法
  • C#实现彻底删除文件的方法

相关文章

  • 2017-05-28整理C# 二进制,十进制,十六进制 互转
  • 2017-05-28C#使用foreach语句遍历集合类型的方法
  • 2017-05-28C#使用正则表达式实现首字母转大写的方法
  • 2017-05-28C#实现XSL转换的方法
  • 2017-05-28C#备忘录模式(Memento Pattern)实例教程
  • 2017-05-28用C#编写获取远程IP,MAC的方法
  • 2017-05-28C#匿名方法与Delegate类型转换错误分析
  • 2017-05-28C# Winform 让整个窗口都可以拖动
  • 2017-05-28C#和SQL实现的字符串相似度计算代码分享
  • 2017-05-28DevExpress实现自定义GridControl中按钮文字内容的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Repeater控件绑定的三种方式
    • c# JSON返回格式的WEB SERVICE
    • C#获取文件相关信息的方法
    • c#高效比对大量图片的实例代码
    • C# PLINQ 内存列表查询优化历程
    • C#短时间内产生大量不重复的随机数
    • C#获取图片的后缀名解析
    • C# 一个WCF简单实例
    • C#代码实现短信验证码接口示例
    • C#百万数据查询出现超时问题的解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有