我需要在另一个应用程序正在写入时读取文本文件。 在这种情况下,我编程:
Dim _fs_ As FileStream = File.Open("c:\log.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim _sr_ As New StreamReader(_fs_)
我可以看到,在我用
关闭文件之前,其他应用程序无法写入文件_sr_.Close()
FileShare.ReadWrite真的有效吗?任何其他方式让这个文件共享工作?
提前谢谢
修改 我试图进一步调查并编写一个我自己编写的小应用程序,写入我需要阅读的日志文件:在该应用程序中,我按如下方式打开文件
Dim _fs_ As FileStream = File.Open("c:\log.txt", FileMode.Append, FileAccess.Write, FileShare.ReadWrite)
Dim tw As New StreamWriter(_fs_)
我的小测试应用程序可以在另一个读取时写入日志:因此FileShare标志可以正常工作。 也许“官方”记录器应用程序(我没有亲自编写)要求对文件进行独占锁定以便能够写入(正如您已经建议的那样)。我会问程序员!
谢谢大家