Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 两个应用程序同时访问一个文件时会弹出错误_C#_Multithreading - Fatal编程技术网

C# 两个应用程序同时访问一个文件时会弹出错误

C# 两个应用程序同时访问一个文件时会弹出错误,c#,multithreading,C#,Multithreading,大家好 我有一个由两个应用程序使用的文本文件 首先,一个由java构建的应用程序会及时更新一个文本文件(比如10秒钟) 这些由文本文件更新的详细信息将由我们在c#中构建的应用程序使用。 但是,每当两个应用程序之间发生冲突以控制文件时,就会抛出一个错误 我们可以对用c#构建的应用程序进行任何更改,但不能对用java构建的应用程序进行任何更改 有人能帮我吗 注意:java应用程序将写入文本文件。 但是我的c#应用程序将读取该文本文件。您可以使用FileSystemWatcher类来确定文件何时更新。

大家好

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

首先,一个由java构建的应用程序会及时更新一个文本文件(比如10秒钟)

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

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

有人能帮我吗

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

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

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

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

你必须在文件上写吗?如果不是,请确保在读取模式下打开文件,并且不应出现任何冲突问题。