我需要用Java读取和处理一些大文件,我想知道,是否有一些明智的方法来保护文件,在我读取和处理它时它不会被其他进程覆盖?
也就是说,以某种方式使其成为只读,使其保持“打开”或其他...
这将在 Windows 环境中完成。
兄弟,图科
我需要用Java读取和处理一些大文件,我想知道,是否有一些明智的方法来保护文件,在我读取和处理它时它不会被其他进程覆盖?
也就是说,以某种方式使其成为只读,使其保持“打开”或其他...
这将在 Windows 环境中完成。
兄弟,图科
你想要一个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 块,但你不应该在你的生产代码中
工作正常,但遇到了一些问题:因为锁定似乎不是完全绝对的。