是否可以在java中检查某个文件是否被其他程序使用?
答案 0 :(得分:3)
如果您无法控制可能正在使用该文件的程序,则通常不会。
如果你有控制权,那么程序可以告诉你它是否正在使用该文件。
答案 1 :(得分:0)
如果文件系统被另一个Java程序访问,那么您可以使用
java.nio.channels.FileLock
包,说它完全依赖于操作系统。 有关详细信息,请参阅链接。
http://docs.oracle.com/javase/1.4.2/docs/api/java/nio/channels/FileLock.html
答案 2 :(得分:0)
在Windows平台上,文件在打开时会被锁定。因此,通过(直接或间接)测试读取或写入锁定,您可以获得一些其他进程是在读取还是写入文件的提示。问题是大多数平台默认情况下不会锁定打开文件,并且在所有平台上,文件可以独立于读写而被锁定。因此,这种方法将是不可移植且不可靠的,除非您具有关于“其他”应用程序的行为的具体信息。