2

我需要锁定一个从三个不同的 android 应用程序读取和写入的文本文件......所以不同的进程。

我尝试在写入时使用通道 lock() (独占模式),在读取文件时尝试使用 lock(0L, Long.MAX_VALUE, true) (共享)。

不幸的是,这种方法不起作用......在读取时总是获取锁,当写入锁尚未释放时也是如此。

是否有合适且可行的示例来解决此问题?难道我做错了什么?

4

1 回答 1

1

终于我解决了!FileLocks 没问题...我的问题是我正在使用 storeToXml 写入一个 xml 文件,该文件可能会创建一个全新的文件...因此创建了新的文件描述符并且锁定属性可能丢失了。现在我锁定了另一个虚拟文件,而不是我正在读写的文件,一切都按预期工作。

于 2013-01-09T11:21:02.870 回答