File file = new File(path);
if (!file.delete())
{
throw new IOException(
"Failed to delete the file because: " +
getReasonForFileDeletionFailureInPlainEnglish(file));
}
getReasonForFileDeletionFailureInPlainEnglish(file)
有没有好的实现?否则我只好自己写了。
最佳答案
不幸的是,在 Java 6 中,无法确定文件无法删除的原因。在 Java 7 中,您可以使用 java.nio.file.Files#delete()
代替,如果无法删除文件或目录,它将为您提供失败的详细原因。
请注意,file.list() 可能会返回目录条目,这些条目可以被删除。删除的 API 文档说只能删除空目录,但如果包含的文件是例如目录,则目录被认为是空的。操作系统特定的元数据文件。
关于java - 如何判断为什么在 Java 中文件删除失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729049/