Java 递归删除文件夹
使用File 的delete()方法删除文件
文件夹不能直接使用delete()方法删除,需要遍历文件夹下的所有子文件以及子目录,将子文件删除后,确保文件夹下没有任何文件或者目录的情况下,才可使用delete()方法将其删除。
直接上代码!!!!以下代码仅供参考!!未对是否删除成功进行判断。由于时间匆忙写的比较粗糙,请见谅!
package com.test; import java.io.File; /** * 删除F:/Idea_workspace目录下的所有target文件夹 * **/ public class Test { public static void main(String[] args) { File file = new File("F:/Idea_workspace"); deleteTarget(file); } //遍历删除所有target目录 public static void deleteTarget(File file){ if(!file.exists()) return; if(!file.isDirectory()) return; System.out.println(file.getName()); if("target".equals(file.getName())){ deleteFolder(file); return; } File[] files = file.listFiles(); if(files.length > 0){ for(File target : files){ deleteTarget(target); } } } //删除文件夹 public static void deleteFolder(File file){ if(!file.exists()) return; System.out.println(file.getName()); if(!file.isDirectory()) return; File[] files = file.listFiles(); if(files.length <= 0 ){ file.delete(); return; } for (File child : files) { if(child.isDirectory()){ deleteFolder(child); }else{ child.delete(); } } file.delete(); } }

浙公网安备 33010602011771号