我们使用批处理文件作为窗口服务运行 jar,并将 xml 文件放在 c:/processed
目录;
如果 xml 格式错误,则将其移至错误文件夹;我们正在使用以下方法将文件移动到错误文件夹,但出现以下异常。
我认为进程运行时无法将文件移动到错误文件夹。
FileUtils.moveToDirectory("a.xml", "c:/processed/error", false);
exception in movedErrorFolder: Failed to delete original file 'c:/processed/a.xml' after copy to 'c:/processed/error/a.xml'
最佳答案
- java进程没有删除文件的权限,但是如果你能在上面写就可以删除它。
- 文件被另一个进程锁定。当您编写一个用 Excel 打开的 csv 时,通常会发生这种情况。
- 文件被 java 进程自身锁定,在移动之前关闭()文件。
关于java - 删除原文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16104343/