使用Java读取和处理文件时,如何防止文件被覆盖?
我需要使用Java来读取和处理一些较大的文件,并且我想知道,是否有某种明智的方法来保护文件,使其在我读取和处理文件时不会被其他进程覆盖?
也就是说,可以通过某种方式将其设为只读,使其保持“打开”状态或类似的方式。
这将在Windows环境中完成。
br,Touko
回答:
你想要一个FileLock:
FileChannel channel = new RandomAccessFile("C:\\foo", "rw").getChannel();// Try acquiring the lock without blocking. This method returns
// null or throws an exception if the file is already locked.
FileLock lock = channel.tryLock();
// ...
// release it
lock.release();
为了简单起见,我省略了一个try / finally块,但您不应该在生产代码中使用
以上是 使用Java读取和处理文件时,如何防止文件被覆盖? 的全部内容, 来源链接: utcz.com/qa/417028.html