我想打開一個文本文件閱讀的Delphi 7應用程序,但得到I/O錯誤32(共享衝突),因爲另一個應用程序已經打開文件。我試過將FileMode設置爲「fmOpenRead或fmShareDenyNone」,但現在意識到這並不適用於文本文件。德爾福 - 共享違規打開文本文件
有沒有辦法讀取由另一個應用程序打開的文本文件?
var
f: TextFile;
begin
FileMode := fmOpenRead or fmShareDenyNone; // FileMode IS NOT APPLICABLE TO TEXT FILES!!
AssignFile(f, FileName);
Reset(f);
你爲什麼如此熱衷於文本文件?爲什麼不使用允許適當的文件訪問和共享模式的流類? – mghie 2009-04-26 11:57:05
,因爲我想一次讀取一行,而TFileStream沒有相應的方法。我想我可以讀一個緩衝區滿並分割爲CR/LF。 – Simes 2009-04-26 12:38:46
您可以使用`TStreamReader`來讀取`TFileStream`中的行。它有一個`ReadLine()`方法,並在內部爲你做緩衝。 – 2012-06-30 22:46:01