在C# 中同時讀取和寫入檔案
處理檔案時,常常會遇到需要同時讀取和寫入的情況一個文件。但是,以下程式碼片段嘗試執行此操作但失敗了:
static void Main(string[] args) { StreamReader sr = new StreamReader(@"C:\words.txt"); StreamWriter sw = new StreamWriter(@"C:\words.txt"); }
此程式碼將失敗,因為它使用單獨的流進行讀取和寫入,如果沒有明確指定兩個流,則同一文件不允許這樣做操作和管理鎖。
要同時讀取和寫入文件,您需要使用對讀取和寫入都開放的單一流。這可以使用 FileStream 類別來實現:
FileStream fileStream = new FileStream( @"c:\words.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
FileMode.OpenOrCreate 參數指定如果檔案不存在,則應開啟或建立該檔案。
FileAccess.ReadWrite 參數指定檔案應該以讀寫方式開啟。
FileShare.None 參數指定不允許其他進程讀取或寫入該檔案
建立FileStream 後,您可以分別使用Read() 和Write() 方法使用它來讀取和寫入檔案。
以上是如何在 C# 中同時讀取和寫入檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!