[C#] File.Create 鎖定檔案

  • 16791
  • 0
  • C#
  • 2016-10-21

由於很久沒有寫Stream.IO 的相關程式,剛好今天有一個需求是Parser 文件,「判斷檔案是否存在,不存在就建立新的檔案,存在就寫檔」,

結果碰到一個寫檔入門常見的錯誤,

類型 'System.IO.IOException' 的未處理例外狀況發生於 mscorlib.dll 其他資訊: 由於另一個處理序正在使用檔案 'C:\Users\Administrator\Desktop\xxxx.xml',所以無法存取該檔案。

直覺反應這是串流沒有被正常關閉,導致另一個串流想要IO的時候被Lock 住了。

...繼續閱讀 »

[C#] using statement(陳述式) 資源(IO)控管好寫法!

  • 1978
  • 0
  • C#
  • 2016-08-03

在幫同仁Code Review 的時候,看到「標準」的IO寫法,如下:

   try
   {
      FileStream fileStream = new FileStream("c://test.txt",FileMode.Create,FileAccess.Write);
      //IO Process...
      fileStream.Close();
   }
   catch (Exception _Exception)
   {
     throw;
   }

就是基本的try catch,然後就是 Release Resource (Dipose),但其實有更好的寫法,就是使用「using statement」,如下:

...繼續閱讀 »