C# 判断文件是否被占用
/// <summary>
/// 文件是否被占用
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public static bool IsFileInUse(string fileName)
{
bool inUse = true;
FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
inUse = false;
}
catch (Exception ex)
{
Console.WriteLine(ex);
inUse = false;
}
finally
{
if (fs != null)
fs.Close();
}
return inUse;//true表示正在使用,false没有使用
}
这个能解除占用问题
private const int OF_READWRITE = 2;
private const int OF_SHARE_DENY_NONE = 0x40;
private static readonly IntPtr HFILE_ERROR = new IntPtr(-1);
/// <summary>
/// 关闭文件句柄
/// </summary>
/// <param name="hObject"></param>
/// <returns></returns>
[DllImport("kernel32.dll")]
private static extern bool CloseHandle(IntPtr hObject);
/// <summary>
/// 判断文件是否打开
/// </summary>
/// <param name="lpPathName">文件名称</param>
/// <param name="iReadWrite"></param>
/// <returns></returns>
[DllImport("kernel32.dll")]
private static extern IntPtr _lopen(string lpPathName, int iReadWrite);
public static bool IsFileInUse(string fileName)
{
bool inUse = true;
FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
inUse = false;
}
catch
{
IntPtr vHandle = _lopen(fileName, OF_READWRITE | OF_SHARE_DENY_NONE);
CloseHandle(vHandle);
}
finally
{
if (fs != null)
fs.Close();
}
return inUse;//true表示正在使用,false没有使用
}
C# 判断文件是否被占用的更多相关文章
- C# 判断文件有没占用
C# 判断文件有没占用 using System; using System.Collections.Generic; using System.Text; using System.Runtime. ...
- 使用c#检测文件正在被那个进程占用 判断文件是否被占用的两种方法
C# 判断文件是否被占用的三种方法 using System.IO; using System.Runtime.InteropServices; [DllImport("kernel32.d ...
- renameTo()判断文件是否被占用(判断大文件是否完成拷贝这个动作)
在开发需求中有一个需求是监控目录下拷贝进来的文件,并对文件进行处理, 使用的java.nio . watchService 进行的处理,如果小文件还好一点,拷贝就是一瞬间的事情,但是如果是一个大文件 ...
- [C#.Net]判断文件是否被占用的两种方法
今天开发产线测试Tool时发现日志文件会几率性的被占用,上网浏览找到最简单的代码(API或者FileStream),在这里抛砖引玉下. 第一种方法:API using System.IO; using ...
- 如何用Python判断一个文件是否被占用?
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 今天有同学问,用os模块的access()能否判断一个文件是否被占用?直觉上,这是行不通的,因为ac ...
- C#判断文件是否正在被使用
生成文件的时候,如果该文件夹下的同名文件被打开(或者被使用),如果这时再生成一个同名文件,则会提示文件正在被占用. 解决方法有两个,一个是保存的文件名改成该文件夹下不存在的(随机数之类的XXOO都行, ...
- C语言中如何判断文件是否存在
方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所属头文件:io.h filename:可以填写 ...
- JavaScript根据文件名判断文件类型
//JavaScript根据文件名判断文件类型 var imgExt = new Array(".png",".jpg",".jpeg",& ...
- PHP判断文件或者目录是否可写
在PHP中,可用is_writable()函数来判断一个 文件/目录 是否可写,详情如下: 参考 is_writable (PHP 4, PHP 5) is_writable — 判断给定的文件名是否 ...
- python os 命令,及判断文件夹是否存在
使用前 import os导入模块 os模块: os.sep 可以取代操作系统特定的路径分割符 os.linesep 字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n ...
随机推荐
- Docker for Windows Firewall detected
安装 Docker for Windows 设置挂载磁盘的时候,出现下面这个错误: 尝试 # 把 vEthernet(DockerNAT) 的网络类型改为 private,默认是 public,还是没 ...
- leetcode每日一题:监控二叉树
引言 今天的每日一题原题是2643. 一最多的行,直接模拟,切除和最大的一行即可.更换成前几天遇到的更有意思的一题来写这个每日一题. 题目 968. 监控二叉树 给定一个二叉树,我们在树的节点上安 ...
- javaweb基础之HTTP、Request、Response、ServletContext
一.http协议是一个重要的协议,他是贯穿整合B/S架构的核心协议.因此学习http协议的时候一定要从请求和响应两个角度思考.注意方向性(请求:浏览器->服务器:响应:服务器->浏览器) ...
- Linux操作系统(中)
上一篇分享了一些Linux操作系统最基本的一些命令和基础知识,下面,要分享的还是Linux操作系统的一些内容,因为在做网安这方面,Linux会经常用到而且也很重要,好了,废话不多说,要开始了. 在Li ...
- Vue相关笔记
Promise基本使用 Promise是异步编程的一种解决方案,用于一个异步操作的最终完成(或失败)及其结果值的表示,比传统的回调函数方案更加合理. var promise = new Promise ...
- 21.7K star!全流程研发项目管理神器,开源免费不限商用!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 「禅道开源版」作为国内首个开源项目管理软件,已为100万+团队提供专业研发管理解决方案.从需 ...
- 01Spring-01jdbc 未使用spring代码编写
目录 pom.xml JdbcDemo1.java pom.xml <?xml version="1.0" encoding="UTF-8"?> & ...
- 解析异步消息加上(→_→)@SuppressLint("HandlerLeak")
在主线程又Handler处理消息出现时这样写会有警告 private Handler handler = new Handler(){ @Override public void handleMess ...
- Mybatis 框架课程第二天
目录 3 基于代理Dao实现CRUD操作 3.1 根据id查询 3.1.1 在持久层接口中添加findById方法 3.1.2 在用户的映射配置文件中配置 3.1.3 在测试类添加测试 3.2 保存操 ...
- java中的虚函数
一.Java中的虚函数 普通函数就是虚函数(同等于C语言中virtual关键词修饰的方法) 虚函数的存在是为了多态 C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的 ...