• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#判断本地文件是否处于打开状态的方法

C#判断本地文件是否处于打开状态的方法

作者:niuniu 字体:[增加 减小] 来源:互联网 时间:2017-05-28

niuniu 通过本文主要向大家介绍了c#上传本地文件,c#打开本地文件,c#下载文件到本地,c#读取本地文件,c#删除本地文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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;
  }
}
</div>

调用测试:

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();
  }
}
</div>

希望本文所述对大家的C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#文件流进行压缩和解压缩的方法
  • C#判断本地文件是否处于打开状态的方法
  • C#创建临时文件的方法
  • C#获取文件创建时间的方法

相关文章

  • 2017-05-28C#检测两个矩阵是否相等的方法
  • 2017-05-28c#文件助手类分享(读取文件内容 操作日志文件)
  • 2017-05-28C#清除WebBrowser中Cookie缓存的方法
  • 2017-05-28基于C#的音乐播放器主Form实现代码
  • 2017-05-28C# XML序列化方法及常用特性总结分析
  • 2017-05-28解析错误富文本json字符串(带双引号)的快速解决方法
  • 2017-05-28C# 字符串多行显示/文本换行以textbox为例讲解
  • 2017-05-28C#中嵌入SQLite数据库的简单方法
  • 2017-05-28c# 重载WndProc,实现重写“最小化”的实现方法
  • 2017-05-28C#虚方法的声明和使用实例教程

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#的datatable转list示例
    • C#中实现网段扫描的代码
    • C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法
    • C#中实现一次执行多条带GO的sql语句实例
    • C#通过yield实现数组全排列的方法
    • C#获取路径的几种方式实例分析
    • webBrowser代理设置c#代码
    • C#中文随机数实现方法
    • C#计算器编写代码
    • 深入解析C#编程中struct所定义的结构

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有