一次两个应用程序访问文件时弹出错误

时间:2009-07-07 10:48:07

标签: c# multithreading

全部,

我有一个文本文件,由两个应用程序使用。

首先,由java构建的应用程序将及时更新文本文件(例如10秒)。

由文本文件更新的这些详细信息将由我们的应用程序使用,该应用程序是用c#构建的。 但是,只要两个应用程序之间发生冲突以控制文件,就会抛出错误。

我们可以对使用c#构建的应用程序进行任何更改,但不能对使用java构建的应用程序进行任何更改。

有人可以帮助我。

注意:java应用程序将写入文本文件。       但我的c#应用程序将读取该文本文件。

2 个答案:

答案 0 :(得分:0)

您可以使用FileSystemWatcher类来确定文件何时更新。 在更新时引发的事件中,要么仅将文件锁定到您的进程,要么以共享模式打开它。

答案 1 :(得分:0)

只要Java应用程序以共享读取模式打开文件,您仍然可以在C#应用程序中读取它:

var myFileStream = new FileStream("myfile.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
var myFileReader = new StreamReader(myFileStream);