在 Java 程序中,给了我一个java.nio.Path
对象,我需要锁定一个文件,然后java.util.Properties
从中加载一个对象。
我读到为文件获取共享锁的正确方法,表示为 a Path
,是java.nio.channels.FileChannel
使用共享锁获取锁channel.lock(0L, Long.MAX_VALUE, true)
final FileChannel channel = FileChannel.open(filePath, StandardOpenOption.READ);
final FileLock lock = channel.lock(0L, Long.MAX_VALUE, true);
现在我已经锁定了频道,我假设我现在应该在加载我的属性文件时引用该频道。
但是,我没有看到一种简单的方法可以将 aFileChannel
转换为Properties
. Properties
需要InputStream
, 或Reader
. 我可以实现自己的阅读器,但我确信我的团队宁愿使用开箱即用的东西(如果有的话)。
有谁知道这样的事情?
我的基本假设不正确吗?如果是这样,这个过程的正确流程是什么?