正在由另一个应用程序移动文件时写入的文件

时间:2014-07-02 10:23:33

标签: java file

您好我有两个申请。一个创建文件并将一些数据写入其中的文件。另一个按预定的时间间隔将文件复制到另一个位置。如果在我的第二个应用程序移动时正在写入文件,则一些数据将丢失。他们的文件只有在完全写完后才会被移动?

2 个答案:

答案 0 :(得分:1)

您的编写者应首先写入不同文件夹中的临时文件,然后在完全写入文件后移动该文件。在大多数文件系统上,移动是原子的(显然移动不能跨越两个不同的磁盘)。

答案 1 :(得分:0)

为什么不使用concurrency control mechanism。 Java 5带有java.util.concurrent包中的读/写锁实现。您可以参考this