程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# IO讀取文件問題:正由另一進程使用

C# IO讀取文件問題:正由另一進程使用

編輯:關於C#
 

文件“D:\Log\Cargoabc\logfilecargoabc.txt”正由另一進程使用,因此該進程無法訪問該文件。

logfilecargoabc.txt是一個日志文件,不定時都可能由另外的程序對它進行日志記錄寫入操作。

今需要對日志文件讀取出來,顯示在日志查詢裡,需要用到了IO流。

1、 FileStream fs = File.OpenRead(url);
StreamReader sr = new StreamReader((System.IO.Stream)fs, System.Text.Encoding.Default);

錯誤提示:文件“D:\Log\Cargoabc\logfilecargoabc.txt”正由另一進程使用,因此該進程無法訪問該文件。

2、StreamReader sr = File.OpenText(url);

錯誤提示:錯誤提示:文件“D:\Log\Cargoabc\logfilecargoabc.txt”正由另一進程使用,因此該進程無法訪問該文件。

3、 FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);

正確讀取。

總結:

這樣的情況,不單要與只讀方式打開txt文件,而且,需要共享鎖。還必須要選擇flieShare方式為ReadWrite。因為隨時有其他程序對其進行寫操作。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved