本文实例讲述了C#判断本地文件是否处于打开状态的方法。分享给大家供大家参考。具体分析如下:

对于应用程序,有时候可能需要判断某个文件是否已经被打开,也就是指是否被某个流连接着。这在对文件的读写比较频繁的程序中尤为重要,因为一个文件同一时刻只能有一个流连接的。下面的代码也许能有所帮助。
public class FileStatus
{
[DllImport("kernel32.dll")]
private static extern IntPtr _lopen(string lpPathName, int iReadWrite);
[DllImport("kernel32.dll")]
private static extern bool CloseHandle(IntPtr hObject);
private const int OF_READWRITE = 2;
private const int OF_SHARE_DENY_NONE = 0x40;
private static readonly IntPtr HFILE_ERROR = new IntPtr(-1);
public static int FileIsOpen(string fileFullName)
{
if (!File.Exists(fileFullName))
{
return -1;
}
IntPtr handle = _lopen(fileFullName, OF_READWRITE | OF_SHARE_DENY_NONE);
if (handle == HFILE_ERROR)
{
return 1;
}
CloseHandle(handle);
return 0;
}
}
调用测试:
class Program
{
static void Main(string[] args)
{
string testFilePath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"testOpen.txt";
FileStream fs = new FileStream(testFilePath, FileMode.OpenOrCreate, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
br.Read();
Console.WriteLine("文件被打开");
int result =FileStatus.FileIsOpen(testFilePath);
Console.WriteLine(result);
br.Close();
Console.WriteLine("文件被关闭");
result = FileStatus.FileIsOpen(testFilePath);
Console.WriteLine(result);
Console.ReadLine();
}
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐:
自动AI写文章:轻松创作时代的全新利器
如何识别文章是否由AI写作:技巧与方法解析
AI优化文章:如何利用人工智能提升写作效率和质量
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
SEO挣钱之道:如何通过SEO实现网络盈利,宁晋网站建设商家
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
SEO做好,企业网站流量翻倍的关键,seo白帽技术有哪些
SEO优化:如何让网站更具有吸引力,散文ai写作咒语是什么
SEO努力:提升网站排名的关键策略,网站建设微企动力
AI人工智能:改变未来的科技革命
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
AI免费生成文字,打造创作新时代
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
seo要学会什么,seo要学多长时间 ,NTU AI 录取
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
ChatGPT常见问题汇总:解答你关于AI的一切疑惑,松鼠ai智能教适应教育
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
为什么选择SEO会员服务,让您的网站流量飞速增长,靖边专业网站建设公司
ChatGPT破解版电脑:如何获得更强大的AI助手,提升工作与学习效率,ai预设动画
AI缩写文本:助力智能生活的革新力量,ai智能写作生成神器下载
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
SEO热词:提升网站排名的关键秘诀,一句话营销推广怎么写好
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
SEO培训:助力企业实现互联网营销的无限可能,平塘网站优化推广价格
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
AI提炼主要内容:如何让信息更精准、高效、易懂,女军人ai
seo项目是什么,seo是啥 ,ai ued
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
OpenAI银联支付-未来支付新体验,安全便捷全新升级,医学加ai
ChatGPT页面怎么拖不动?解决问题的终极指南,日韩AI换脸在线观看
优化文字,让表达更精准:提升写作效率的关键,个人网站建设外包
SEO策划:让你的网站迅速脱颖而出的秘诀,seo优化和技巧
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决常见问题!,ai招生广告设计
如何用AI写公众号文章?让创作更高效、更轻松
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
seo营销到底是什么,seo算什么营销 ,ai里面新建
ChatGPT显示无法加载网站是怎么回事?解决方法!,glow将军ai
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
为什么seo这么难,seo难嘛 ,ai宁中则