java - java无法删除文件?

标签 java

我正在尝试删除文件夹中的所有文件:-

    import java.io.*;
public class AddService {   
    public static void main(String args[]){
        File folder=new File("inputs");
        File[] listOfFiles=folder.listFiles();
        for(File file:listOfFiles){
            if(file.delete())
                System.out.println("File deleted");
            else
                System.out.println("File not deleted");
        }
    }
}

我收到“文件未删除”响应,并且该文件未被删除。我的代码有什么问题吗?

最佳答案

导致文件无法删除的原因有很多;它可能不存在,它可能是一个非空目录,您可能没有关闭使用它的所有资源,并且您的程序可能没有这样做的权限,仅举几例。

不幸的是File.delete()方法提供的有关原因的信息很少;这很大程度上取决于你去探索并找出答案。但有个好消息:你一开始就不想使用File

Java 7 引入了新的 java.nio.file包,这是一个更强大的文件访问 API。它提供了抽象的概念Path并将具体操作分为Files类,特别是它提供 Files.delete()它被记录为提出明确的异常,描述删除可能失败的原因。

使用路径文件;你会很高兴你这么做了。

关于java - java无法删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28826565/

相关文章:

java - 使用 ARM64 musl-libs 编译 OpenJDK 9 及更高版本

java - 无法在 Eclipse 中使用库制作可执行 JAR 文件

java - Crittercism API 自定义时间段的崩溃趋势数据

java - 如何解决组合框的冲突?

java - 什么是类级同步。如果该类被一个线程锁定在同一其他线程上,则可以访问该类的其他方法

java - 自定义 Json 错误消息

java - Swing 应用程序的 Graal native 图像 : Detected a started Thread in the image heap

java - 使用动态规划改变硬币

java - 带有 setter 和 setter 的基本 JAVA 应用程序,并将整数加 1

java - 如何开发 IMAP 服务器接口(interface),有可用的库吗?