一尘不染

Java检查文件是否已经打开

java

我需要编写一个自定义的批处理文件重命名器。我已经完成了大部分工作,除了我不知道如何检查文件是否已经打开。我只是在使用java.io.File软件包,并且有一种canWrite()方法,但是似乎无法测试该文件是否正在被另一个程序使用。关于如何进行这项工作的任何想法?


阅读 638

收藏
2020-03-03

共1个答案

一尘不染

使用Apache Commons IO库…

boolean isFileUnlocked = false;
try {
    org.apache.commons.io.FileUtils.touch(yourFile);
    isFileUnlocked = true;
} catch (IOException e) {
    isFileUnlocked = false;
}

if(isFileUnlocked){
    // Do stuff you need to do with a file that is NOT locked.
} else {
    // Do stuff you need to do with a file that IS locked
}
2020-03-03