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

时间: 2024-10-07 23:41:20

c# 删除文件,清理删除文件的相关文章

linux shell 脚本 历史文件清理脚本,按天,按月,清理前N天的历史文件,删除指定大小历史文件,历史文件归档清理

不知道大家那有没有要清理的这个事情.需要清理目录历史文件.可能后续也会有很多其他地方需要清理历史文件,可能会用到. 我这两天空闲写了个脚本,清理比较方便,有要进行清理的大量历史文件的话可以用. 脚本用到的命令只有linux才有,像solaris等就不支持,所以只能在linux上运行.如果是nas存储的话,可以挂载到一个linux主机上跑脚本清理. 另外,脚本查找文件用的是ls,但是ls也有最大文件的限度(大概10w以内),如果每天文件很多,每天都是10w+的,运行可能提示文件数过多无法ls. 还

运维实战案例之文件已删除但空间不释放问题解析

1.错误现象 运维的监控系统发来通知,报告一台服务器空间满了,登陆服务器查看,根分区确实没有空间了,如下图所示: 这里首先说明一下服务器的一些删除策略,由于Linux没有回收站功能,我们的线上服务器所有要删除的文件都会首先移动到系统/tmp目录下,然后定期清除/tmp目录下的数据.这个策略本身没有问题,但是通过检查发现这台服务器的系统分区中并没有单独划分/tmp分区,这样/tmp下的数据其实是占用了根分区的空间.既然找到了问题,那么删除/tmp目录下一些大数据即可,执行如下命令,检查/tmp下最

c盘哪些文件可以删除 你知道电脑c盘哪些文件可以删除吗

在此之前,笔者就有和大家说过c盘空间越来越小要怎么办,特别是老式电脑,硬盘太小,更容易导致c盘空间变小,当C盘存了太多文件的时候,电脑还会提示"您的C盘系统资源不足",众所周知,C盘是系统盘,如果有太多垃圾文件就会影响空间大小,所以大家通常都是对C盘进行垃圾文件清理,那么你知道电脑c盘哪些文件可以删除吗?今天系统圣地的小编就来给大家说说c盘哪些文件可以删除. c盘哪些文件可以删除 进入C盘一般都可以看到这3个文件夹:Documents and Settings(桌面文件),Progam

python根据文件更改日期删除指定文件夹下面文件

经过一天的尝试,终于写了一个脚本,清理日志文件,源代码如下: #!/usr/bin/python#-*-coding=utf8 -*-import timeimport os N = 1     #设置删除多少天钱的文件def deletefile(path):    for eachfile in os.listdir(path):        filename = os.path.join(path,eachfile)        if os.path.isfile(filename):

彻底删除&amp;quot;提示删除文件和目录&amp;quot;时出错的文件或目录

当删除文件是出现上图时  能够用以下的方法删除文件 策略一:系统大法 第一招  进程帮你搞定 很多时候乱码文件名称里的文件是explorer.exe进程联系在一起的. 假设要删除的话能够这样:首先命令行窗体,通过cd命令进入乱码名目录.按下Ctrl+Alt+Del调出任务管理器,单击"进程"选项卡,选中"explorer.exe",右键选择"结束进程",在命令提示符窗体中使用DEL命令来删除文件或目录,删除成功后,在命令提示符窗体中输入 expl

c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用

c# 删除程序占用的文件,清理删除文件,彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); p.BackgroundImage = new Bitmap(inputStream); inputStream.Dispose(); 删除文件 public void WipeFile(string

删除.svn文件及子文件

1.把下面文本保存成.bat文件 @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem 循环删除当前目录及子目录下所有的SVN文件 @rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn" @for /r . %%a in (.) do @if exist "%%a\.svn&

怎样用CMD命令删除或是强行删除文件

用DOS命令清理磁盘,DEL RD,有没有一种高大上的感觉,哈哈. Refrence: 怎样用CMD命令删除或是强行删除文件?

WIN10平板 传递优化文件能否删除

在给系统准备做Ghost备份之前,一般会运行一次磁盘清理,但是WIN10系统多了一个传递优化文件(现在看到的体积很小,但其实可能是4-5G) 这个文件只是WIN10改进了系统更新策略产生的,就像是BTB下载的临时文件,方便自己更新,也方便别人更新.但是我们一般很讨厌Windows自动更新,所以不但这个文件要删除,还要防止WIN10再次自动更新. 官方的说法:由于摒弃了传统的SP包更新模式,使得升级成为了Win10的常态.当然这种升级已经不仅仅限于安全层面,功能新增.Bug修正等很多工作,都是通过