0

是否可以同时使用 C++ 应用程序和 Java 应用程序读取和写入同一个文本文件,而不会向其中写入冲突的行/字符?我现在已经用两个 java 应用程序进行了测试,似乎可以从一个进程写入文件,即使另一个进程已经打开了流,但没有关闭它。有什么方法可以锁定文件以便其他进程需要等待?

4

2 回答 2

0

对于写入同一文件的两个进程,只要您在行边界上刷新输出缓冲区(即,在写入换行符序列后刷新),写入文件的数据应该很好地交错。

如果一个进程正在写入,而另一个进程正在从同一个文件中读取,您只需要确保读取不会领先于写入。如果读取获得文件结束条件(或更糟的是,部分数据行),那么您知道读取过程必须等到写入过程完成将另一块数据写入文件。

如果你需要更复杂的读/写控制,你应该考虑某种锁定机制。

于 2012-07-11T19:31:15.000 回答