国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#判斷本地文件是否處于打開狀態的方法

2020-01-24 01:53:09
字體:
來源:轉載
供稿:網友

本文實例講述了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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘谷县| 读书| 锦屏县| 密山市| 射洪县| 特克斯县| 思茅市| 宁国市| 赤水市| 敦化市| 湘西| 东平县| 泰和县| 博湖县| 贵阳市| 同江市| 贞丰县| 施秉县| 禹州市| 波密县| 洛宁县| 略阳县| 阿坝县| 东阿县| 黄平县| 美姑县| 三穗县| 西畴县| 榆林市| 华阴市| 黄陵县| 玉林市| 永川市| 田东县| 张家港市| 东丽区| 桓台县| 安乡县| 罗平县| 翁源县| 营口市|