我想打开一个文本文件阅读的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