本文實例講述了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。因為隨時有其他程序對其進行寫操作。
希望本文所述對大家的C#程序設計有所幫助。