java - 如何判断为什么在 Java 中文件删除失败?

标签 java file-io error-handling java-6 jdk6

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/

相关文章:

php - 使用ajax更新数据库-处理错误

ruby-on-rails - Errno::ECONNRESET:连接被对端重置

c# - 我的应用程序如何查找旧版本的辅助文本文件?

python - 在 python 中,只有最后一行从大字符串写入文件

java - 读取 S3 文件时出现 "java.net.SocketException: Socket is closed"

c# - 处理文件未找到异常的正确位置在哪里?

java - 异步流中出站网关的错误处理

java - 消息负载的类型为 : BufferInputStream

java Files.readAllBytes(image.png) 不起作用

java - 如何在字节 Java 中发送大于 127 的值