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

最佳答案

使用 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
}

关于java - 检查文件是否已经打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33220110/

10-11 22:57
查看更多