如何使用 Java 删除文件夹和子文件夹?

如何使用 Java 删除文件夹和子文件夹?

java 8object oriented programmingprogramming更新于 2025/4/21 0:07:17

java.io 包中的 File 类表示系统中的文件或目录(路径名)。此类提供各种方法来对文件/目录执行各种操作。

File 类的 delete() 方法删除当前 File 对象所表示的文件/目录。

File 类的 ListFiles() 方法返回一个数组,其中包含当前(File)对象所表示的路径中的所有文件(和目录)的对象(抽象路径)。

因此,要删除文件夹及其子目录和文件,您需要定义一个递归方法。

示例

以下 Java 程序以递归方式删除指定的目录 −

import java.io.File;

public class DeletingFilesRecursively {

static void deleteFolder(File file){

for (File subFile : file.listFiles()) {

if(subFile.isDirectory()) {

deleteFolder(subFile);

} else {

subFile.delete();

}

}

file.delete();

}

public static void main(String args[]) {

String filePath = "E://ExampleDirectory//";

//Creating the File object

File file = new File(filePath);

deleteFolder(file);

System.out.println("Files deleted........");

}

}

输出

Files deleted........

使用 ApacheCommonsIO

ApacheCommonsIO 的 deleteDirectory() 方法接受文件路径,并递归删除目录。

Maven 依赖项

commons-io

commons-io

2.6

示例

import java.io.File;

import java.io.IOException;

import org.apache.commons.io.FileUtils;

public class DeletingFilesRecursively2 {

public static void main(String args[]) throws IOException {

String filePath = "E://ExampleDirectory//";

//Creating the File object

File file = new File(filePath);

FileUtils.deleteDirectory(file);

System.out.println("Files deleted........");

}

}

输出

Files deleted........

相关文章

学习 Java 的先决条件是什么?

Java 中的"class"类是什么?

Java 中的构造函数重载是什么?

Java 中的修饰符 transitive 起什么作用?

Java 中 String 的 immutable 是什么意思?

C++ 和 Java 之间有哪些区别?

Java 中的聚合是什么?

Java 中的编译时错误和运行时错误有什么区别?

什么是 JVM(Java 虚拟机)?

Java 方法和原生方法有什么区别?

打印

下一节 ❯❮ 上一节