引言:在java中的文件类中,File.delete方法只能删除文件或者空文件夹,那么如何删除非空文件夹呢?以下我们采用递归实现。
/** * 测试 * 递归删除文件夹 */ public class FileTest { public static void deleteFile(File file){ //传入的是文件就直接删除 if (file.isFile()){ file.delete(); } //传入的是文件夹就将文件夹内的文件依次操作 File[] files = file.listFiles(); for (File f:files){ //是文件就删除 if (f.isFile()) f.delete(); //是文件夹就递归调用函数 else if(f.isDirectory()) deleteFile(f); } file.delete(); //最后删除最外层空文件夹 } public static void main(String[] args) { File file = new File("D:\\aaa"); deleteFile(file); } }