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

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

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

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

對(duì)于應(yīng)用程序,有時(shí)候可能需要判斷某個(gè)文件是否已經(jīng)被打開(kāi),也就是指是否被某個(gè)流連接著。這在對(duì)文件的讀寫(xiě)比較頻繁的程序中尤為重要,因?yàn)橐粋€(gè)文件同一時(shí)刻只能有一個(gè)流連接的。下面的代碼也許能有所幫助。

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;
  }
}

調(diào)用測(cè)試:

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("文件被打開(kāi)");
   int result =FileStatus.FileIsOpen(testFilePath);
   Console.WriteLine(result);
   br.Close();
   Console.WriteLine("文件被關(guān)閉");
   result = FileStatus.FileIsOpen(testFilePath);
   Console.WriteLine(result);
   Console.ReadLine();
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#中矩形數(shù)組的定義和元素訪(fǎng)問(wèn)

    C#中矩形數(shù)組的定義和元素訪(fǎng)問(wèn)

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

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

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

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

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

    C#結(jié)合SMTP實(shí)現(xiàn)郵件報(bào)警通知的實(shí)現(xiàn)示例

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

    C#打開(kāi)揚(yáng)聲器的實(shí)操方法和代碼

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

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

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

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

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

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

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

    unity實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)時(shí)ui及物體的變色操作

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

    C# 實(shí)現(xiàn)在當(dāng)前目錄基礎(chǔ)上找到上一層目錄

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

最新評(píng)論

嘉定区| 通道| 新河县| 乐业县| 墨竹工卡县| 志丹县| 慈溪市| 辉南县| 卓尼县| 嘉祥县| 五家渠市| 循化| 马关县| 佛教| 敦煌市| 沽源县| 桐乡市| 曲周县| 合川市| 麻江县| 泰和县| 巍山| 兖州市| 和政县| 霍林郭勒市| 缙云县| 军事| 三穗县| 义乌市| 洞头县| 台中县| 北川| 平南县| 泊头市| 龙胜| 民和| 禄丰县| 克什克腾旗| 平舆县| 辉县市| 灵武市|