最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#判斷本地文件是否處于打開狀態(tài)的方法

 更新時間:2015年05月06日 10:52:55   作者:niuniu  
這篇文章主要介紹了C#判斷本地文件是否處于打開狀態(tài)的方法,涉及C#操作文件的技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了C#判斷本地文件是否處于打開狀態(tài)的方法。分享給大家供大家參考。具體分析如下:

對于應用程序,有時候可能需要判斷某個文件是否已經(jīng)被打開,也就是指是否被某個流連接著。這在對文件的讀寫比較頻繁的程序中尤為重要,因為一個文件同一時刻只能有一個流連接的。下面的代碼也許能有所幫助。

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#程序設計有所幫助。

相關文章

  • C#中矩形數(shù)組的定義和元素訪問

    C#中矩形數(shù)組的定義和元素訪問

    矩形數(shù)組是指由相同數(shù)據(jù)類型的元素按照行和列組成的二維數(shù)組,可以使用索引訪問矩形數(shù)組中的單個元素,也可以使用循環(huán)結構遍歷矩形數(shù)組中的所有元素,此外,我們還需要注意不要修改矩形數(shù)組的維度,避免使用矩形數(shù)組造成內(nèi)存占用過高等問題
    2024-01-01
  • 支持多類型數(shù)據(jù)庫的c#數(shù)據(jù)庫模型示例

    支持多類型數(shù)據(jù)庫的c#數(shù)據(jù)庫模型示例

    本文為大家提供一個c#數(shù)據(jù)庫訪問模型,支持多類型數(shù)據(jù)庫,簡單抽取數(shù)據(jù)庫訪問函數(shù),大家參考使用吧
    2014-01-01
  • C#常用GDI+文字操作匯總

    C#常用GDI+文字操作匯總

    這篇文章主要介紹了C#常用GDI+文字操作,包括文字投影、倒影、旋轉等特效,對于提升程序界面的視覺效果有很大的用處,需要的朋友可以參考下
    2014-08-08
  • C#結合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例

    C#結合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例

    這篇文章主要介紹了C#結合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • C#打開揚聲器的實操方法和代碼

    C#打開揚聲器的實操方法和代碼

    在本篇文章中我們給大家分享的是關于C#如何打開揚聲器的相關知識點內(nèi)容,需要的讀者們學習下。
    2019-08-08
  • ref與out之間的區(qū)別深入解析

    ref與out之間的區(qū)別深入解析

    以下是對c#中ref與out之間的區(qū)別進行了詳細分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • C#使用async和await實現(xiàn)異步編程

    C#使用async和await實現(xiàn)異步編程

    本文詳細講解了C#使用async和await實現(xiàn)異步編程的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Parallel.For循環(huán)與普通for循環(huán)的性能比較

    Parallel.For循環(huán)與普通for循環(huán)的性能比較

    這篇文章介紹了Parallel.For循環(huán)與普通for循環(huán)的性能比較,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • unity實現(xiàn)鼠標經(jīng)過時ui及物體的變色操作

    unity實現(xiàn)鼠標經(jīng)過時ui及物體的變色操作

    這篇文章主要介紹了unity實現(xiàn)鼠標經(jīng)過時ui及物體的變色操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C# 實現(xiàn)在當前目錄基礎上找到上一層目錄

    C# 實現(xiàn)在當前目錄基礎上找到上一層目錄

    這篇文章主要介紹了C# 實現(xiàn)在當前目錄基礎上找到上一層目錄,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論

玛纳斯县| 曲水县| 灵丘县| 南木林县| 永州市| 遵化市| 昭苏县| 江阴市| 邻水| 河池市| 巍山| 灵寿县| 东台市| 大化| 惠东县| 旺苍县| 武邑县| 太谷县| 商丘市| 嘉祥县| 临桂县| 增城市| 格尔木市| 勃利县| 肃宁县| 辽源市| 伊春市| 昭苏县| 修武县| 长沙县| 东乌珠穆沁旗| 石渠县| 扬中市| 广西| 西峡县| 女性| 宣恩县| 南昌市| 遂平县| 鸡泽县| 防城港市|