如何使用 Java 删除文件夹和子文件夹?
java 8object oriented programmingprogramming更新于 2025/9/20 7:08: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 依赖项
示例
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 字符串 substring() 方法示例。
Java 8 中的数组流
Java 中的数组迭代
在 Java 中将 Iterator 转换为 Iterable
Java toUpperCase() 示例
Java toRadians() 方法示例
在 Java 中将 HashSet 转换为 TreeSet
在 Java 中将 Double 转换为 Integer
在 Java 中将 Iterator 转换为 Stream
在 Java 中将一组字符串转换为逗号分隔的字符串
打印
下一节:如何在 Java 中编写不使用 reverse() 方法的字符串反转程序? ❯❮ 上一节:如何在 Java 中获取文件的最后修改时间?