我的Java程序想要读取一个文件,该文件可以被另一个写入文件的程序锁定。我需要检查文件是否被锁定,如果是,请等到它空闲。我该如何实现这一点?
Java程序在Windows 2000服务器上运行。
发布于 2012-12-05 00:04:39
应该可以在Windows中运行:
File file = new File("file.txt");
boolean fileIsNotLocked = file.renameTo(file);发布于 2009-09-30 19:30:16
在使用该文件的所有Java应用程序中使用一个FileLock,并让它们在同一个JVM中运行。否则,这将无法可靠地完成。
发布于 2009-09-30 19:32:09
如果多个进程(可以是Java和非Java的混合)可能正在使用该文件,请使用FileLock。成功使用文件锁的一个关键是记住它们只是“建议”。如果你检查它,锁肯定是可见的,但如果你忘记了,它不会阻止你对文件做一些事情。访问该文件的所有进程都应设计为使用锁定协议。
https://stackoverflow.com/questions/1500174
复制相似问题