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)
{
}
}
c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用的更多相关文章
- 一个将当前目录下HEX文件的第一行数据删除的程序
为什么要写这样一个函数 在使用SoftConsole开发M3程序时,生成的hex文件,必须要把第一行数据删除,才能在Libero中使用,所以写了这个小工具,这是2.0版本了,第一版是直接删除第一行数据 ...
- Windows下强制删除文件或文件夹(解除文件占用/Unlock)
前言 在windows下,有时候会碰到一些文件无法删除,尽量使用“管理员取得所有权” ,但文件或文件夹依然无法删除,这一点非常苦恼. 本文记录几款可以解锁文件占用的软件. ProcessHacker ...
- Inno setup 卸载时删除程序文件夹(文件)
Inno setup 卸载时删除程序文件夹(文件) //删除所有配置文件以达到干净卸载的目的 procedure CurUninstallStepChanged(CurUninstallStep: T ...
- winform总结3> 有趣的bat/winform程序完成自己的任务,然后把自己删除
在winform的开发过程中往往会有这样的应用场景,执行完成某任务之后,程序需要把本身删除掉.比如卸载.分享一个比较简单实现. 思路就是利用批处理,关闭文件后执行bat,bat执行删除主文件,然后删除 ...
- iOS 文件和数据管理 (可能会删除本地文件储存)
转自:http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgramm ...
- NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理
Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内 ...
- 如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?
如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?原文链接:http://www.java2class.net/bbs/viewthr ...
- C#删除程序自身【总结】
偶然看到一个可以自删除的程序,于是了解下如何实现.然后整理如下: 思路: 在.NET程序中,因为运行中的程序是受系统保护的,不能自己删除自身的,所以自删除的思路: 在关闭本程序之前启动新的进程打开另 ...
- Linux_文件及文件夹[创建][复制][移动][删除][重命名]
一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语 法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录&g ...
随机推荐
- 转 方法区(method) )、栈区(stack)和堆区(heap)之JVM 内存初学
JAVA的JVM的内存可分为3个区:堆(heap).栈(stack)和方法区(method) 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指 ...
- 关于idea failed to start SceneBuilder 的解决方法
问题描述: javaFx无法启动SceneBuilder. 问题原因: SceneBuilder不正当配置. 解决方法:1. 下载SceneBuilder https://www.oracle.c ...
- Android HTTP 数据提交
在Android 项目中,使用HTTP协议获取数据或者处理数据,需要使用到多线程和配置相应的APP权限 1.使用线程,使用HTTP 提交数据 private Thread submitThread = ...
- html5——多媒体(二)
基本方法 load() //重新加载视频 play() //播放 pause() //暂停 基本属性 currentTime //视频播放的当前进度. duration //视频的总时间 paused ...
- JS——样式获取的兼容写法
样式获取 普通获取属性方式div.style.width或者div.style["width"]无法获取内嵌和外链式,只能获取行内式 window.getComputedStyle ...
- 如何快速获取yun2win app key?
注册yun2win开发者账号 1.在注册页面输入您的邮箱,点击下方发送,yun2win将会发送一封验证邮件到您的邮箱: 2.如果没有收到邮件请查看垃圾箱或者点击重新发送: 3.打开邮箱查看验证邮件,点 ...
- 1.CentOS安装Redis
首要条件:安装VMware,在虚拟机中安装CentOS. 第一次接触CentOS的开发者最好是在虚拟机手动一步步进行安装,并且系统环境选择开发环境,这样可以避免后期自己要安装诸多运行库. 安装步骤: ...
- string.format("%s",name)
TCHAR name[40]; acedGetString(0, _T("输入名字"), name); acutPrintf(name); CString na; na.Forma ...
- Python3爬取前程无忧数据分析工作并存储到MySQL
1.导入包import requests #取数from lxml import etree #用xpath解析import pymysql #连接数据库import chardet #自动获取编码2 ...
- Linux:安装CentOS 6.x和CentOS 7.x
1,准备镜像,这里到阿里云镜像网站下载 https://opsx.alibaba.com/mirror 2,安装CentOS6.10 打开vmware workstation--> 典型--&g ...