在我的过程的某个时刻,我必须删除一个特定的文件,因为该文件被用作" flag"事情已被破坏(备份逻辑的一部分)。
有时文件被病毒扫描程序或其他任何东西锁定,但此锁是暂时的。在任何情况下都必须删除特定文件,否则可能会破坏下一个过程。 我还想过创建第二个文件标志,第一个标志已损坏,但最后你可以创建数百个标志,所以这不是解决方案。
在尝试触发下一个删除命令之前,我尝试删除循环中的文件并等待一些毫秒。
for (int i = 0; i < 10; i++) {
if (FileUtils.deleteQuietly(file)) {
break;
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
break;
}
}