我需要锁定一个从三个不同的Android应用程序读取和写入的文本文件......所以不同的进程。
我在写入时尝试使用channel lock()(独占模式),并在读取文件时锁定(0L,Long.MAX_VALUE,true)(共享)。
不幸的是,这种方法不起作用...当写入锁定尚未释放时,也始终获取锁定。
是否有合适且有效的例子来解决这个问题? 我做错了吗?
答案 0 :(得分:1)
最后我解决了! FileLocks是好的...我的问题是我使用storeToXml写入xml文件,可能会创建一个全新的文件...因此创建了新的文件描述符并且可能丢失了lock属性。 现在我正在锁定另一个虚拟文件,而不是我正在阅读和编写的文件,一切都按预期工作。