一、我最近想做一个程序将文件彻底删除(不可恢复),初步设计是FileStream建立流,然后用BinaryWriter写入一些无效字符,现在问题有两点:
  1,怎么覆盖写入(不是全覆盖,只需覆盖一个字节或一位即可)
  2,怎么最大化的破坏,即使被人恶意恢复,也看不到真正的东西(以文本为主)二、另外是在这个项目中会遍历文件夹,有时候会抛 UnauthorizedAccessException 异常,一般是那个系统隐藏文件不许访问。
  想问怎么绕过去这个目录,就是提前判断不许访问,然后就不访问,现在是用的try块,性能肯定不行,一个两个的文件夹还行,多了就会有很大的影响,怎么能知道这个文件不让访问,然后隔过去它?

解决方案 »

  1.   

    做个随机数
    然后读出文件放到buf中,根据随机数来处理这个buf的相应位置,最后把处理过的buf再写入文件中
    这样文件就改变了,而且每次改变的位置不同,恢复也不容易
    不过这样简单的改变一般不影响文本性质的文件,其他位置的东西还是可以看到的
    你可以自己写个方法,每次读取一行,然后处理这行,全部打乱后写入另一个文件,循环处理完你的文件
    最后用新文件替换你的老文件
    这样就不容易还原,而且打开也基本看不出原来的内容了!
      

  2.   

    你判断是隐藏文件,就不去处理,就好了。
    你说的FileStream写入是很简单的。
    但是如果别的程序在使用,你如何能切断别人的使用,让你自己使用,并写入文件??
    类似unlocker的功能。