package io;

import java.io.File;

public class TestDeleteAllFileDemo {

	public static void main(String[] args) {
		File file = new File("aaa");//这里缺省为当前项目路径下的aaa
		deleteAllFile(file);
	}

	private static void deleteAllFile(File file) {
		if (file.exists()) {//判断路径是否存在
			if (!file.isFile()) {// 是文件夹时,判断文件夹是否为空,空则直接删除,非空则递归调用deleteAllFile()
				System.out.print(file.getAbsolutePath());
				if (!file.delete()) {// 文件夹非空时
					System.out.println("   : false");
					File[] f = file.listFiles();
					for (File file1 : f) {
						deleteAllFile(file1);
					}
					System.out.print(file.getAbsolutePath());
					System.out.println("   : " + file.delete());//在删除完文件夹里面的内容后再删除最外层的文件夹
				} else {
					System.out.println("   : true");
					return;
				}
				return;
			} else {// 如果路径不为空
				if (file.isFile()) {// 是文件时,直接删除
					System.out.print(file.getAbsolutePath());
					System.out.println("   : true");
					file.delete();
					return;
				}
			}
		}
	}

}