我正在使用带有自定义远程过滤器的sftp入站通道适配器 . 如果过滤器接受该文件,则稍后处理该文件并将其删除,因为我为远程删除设置了属性“true” .
现在,当我的文件未成功处理并抛出异常然后我捕获该异常并希望将本地下载文件移动到其他位置但是当我使用FileUtils.forceDelete执行此操作时它会抛出异常
java.io.IOException:无法删除文件:
看起来其他一些线程已锁定此文件 . 有什么方法我们可以找出谁拥有锁以及如何释放它,以便我的听众可以将它移动到差异位置 .
1 回答
确保在finally块中关闭文件,以便处理逻辑始终关闭文件 .