如何检查文件是否被其他程序使用

时间:2012-02-22 13:25:30

标签: java

是否可以在java中检查某个文件是否被其他程序使用?

3 个答案:

答案 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平台上,文件在打开时会被锁定。因此,通过(直接或间接)测试读取或写入锁定,您可以获得一些其他进程是在读取还是写入文件的提示。问题是大多数平台默认情况下不会锁定打开文件,并且在所有平台上,文件可以独立于读写而被锁定。因此,这种方法将是不可移植且不可靠的,除非您具有关于“其他”应用程序的行为的具体信息。