我需要使用Java锁定文件以防止另一个进程删除文件,但允许复制该文件。它应该由lock()和unlock()这两个方法来实现。
我尝试使用 FileLock,但它也拒绝复制。还有其他方法可以锁定文件吗?
您可以找到有关可以使用共享锁的文档,其他进程可以读取该文件。
try (FileChannel channel = FileChannel.open(path, StandardOpenOption.READ);
FileLock lock = channel.lock(0, Long.MAX_VALUE, true)) {
// read from the channel
}