注意下面的判断是针对排他锁的。共享锁不合适。
用百度找了一下,发现写的人很少,可能是太简单吧,那我来写一下。
参照下面这个网站,有兴趣的可以看看。
https://stackoverflow.com/questions/1500174/check-if-a-file-is-locked-in-java
其实判断文件是否上锁有许多方法,现在列出下面几种,仅供参考。
File TargetFile = new File("d:\\tt\\1.txt");
boolean fileIsNotLocked = TargetFile.renameTo(TargetFile);
true说明可以重命名,也就是没有锁。
当然还有其他好几种方法,例如下面的这两个方法。
TargetFile.canRead()
TargetFile.canWrite()
看自己喜好吧。
主要的原因是: 加锁后的文件和文件夹将无法访问和进行任何操作。
上面的判断是针对排他锁的,如果是共享锁的情况这种判断就不是正确的了。
如果是共享锁,你就先用排他锁去锁这个文件,看能不能锁住,如果能,就说明这个文件没有上锁。
这个时候会锁这个文件,然后你要自己解锁。