Java 对属性文件的并发访问

Java 对属性文件的并发访问,java,concurrency,Java,Concurrency,我的属性文件有一些损坏问题。我怀疑的是,并发读/写是问题所在。所以我想设置一些文件锁。 首先我看了这个: 所以我可以在写的时候锁定,但不能在读的时候锁定,这并不能解决我的问题。 然后我看了这个: 所以如果我使用RandomAccessFile,我可以锁定读写,这似乎是正确的。所以我剩下的问题很简单:用RandomAccessFile加载属性。但我看不到从RandomAccessFile获得读取器或输入流的简单方法。有吗? 谢谢, 纪尧姆 编辑:由于存在一些模糊性,我必须补充一点,并发性是由多个进


我的属性文件有一些损坏问题。我怀疑的是,并发读/写是问题所在。所以我想设置一些文件锁。
首先我看了这个:
所以我可以在写的时候锁定,但不能在读的时候锁定,这并不能解决我的问题。 然后我看了这个:
所以如果我使用RandomAccessFile,我可以锁定读写,这似乎是正确的。所以我剩下的问题很简单:用RandomAccessFile加载属性。但我看不到从RandomAccessFile获得读取器或输入流的简单方法。有吗?
谢谢,
纪尧姆


编辑:由于存在一些模糊性,我必须补充一点,并发性是由多个进程访问文件造成的,而不是多线程

检查写锁可以解决您的问题。它将排除所有其他作者,但也排除所有其他读者(它被称为写锁,但更准确地说是排他锁)。@john16384,这是如何工作的?操作系统是否阻止其他进程打开该文件?Java能保证吗?如果访问此属性文件的唯一程序是您的程序,则不需要文件锁;您可以只使用同步、锁或java.util.concurrent包中的一个类。阅读标题为“平台依赖项”的文档。