您好我有两个申请。一个创建文件并将一些数据写入其中的文件。另一个按预定的时间间隔将文件复制到另一个位置。如果在我的第二个应用程序移动时正在写入文件,则一些数据将丢失。他们的文件只有在完全写完后才会被移动?
答案 0 :(得分:1)
您的编写者应首先写入不同文件夹中的临时文件,然后在完全写入文件后移动该文件。在大多数文件系统上,移动是原子的(显然移动不能跨越两个不同的磁盘)。
答案 1 :(得分:0)
为什么不使用concurrency control mechanism
。 Java 5带有java.util.concurrent
包中的读/写锁实现。您可以参考this