学习记录330@Java递归删除目录

it2025-07-31  13

如果一个目录内有子目录,是无法直接删除这个目录的,必须递归删除,从内到外,先把内层的删完,再删外层的

看下delete源码 代码如下

package com.dream.work01; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.file.Files; //删除目录,这个目录里面有子目录,子目录里面可能也有子目录 public class Work01{ public static void main(String[] args) throws IOException { File file = new File("C:\\Users\\17621802479\\Desktop\\test"); del(file); } public static void del(File file){ File[] listFiles = file.listFiles(); //如果没有子目录,直接删除 if(listFiles.length==0){ file.delete(); }else { //如果有子目录,循环每个子目录 for (File file2 : listFiles) { //如果子目录还有子目录,就递归 if (file2.isDirectory()) { del(file2); }else { //如果子目录就是文件,直接删除 file2.delete(); } } //将目录中的内容清空完了之后,就可以删除这个目录本身了 file.delete(); } } }
最新回复(0)