java删除文件夹及其内部文件

Java中普通file对象的delete方法只能删除文件或者空文件夹,无法删除非空文件夹,更别提层层套娃的文件夹,所以就要用到递归了!

public static void delDir(String path){
	File file = new File(path);
	//如果是文件,直接删除
	if(file.isFile()){
		file.delete();
	}else{
		//如果是文件夹,获取内层文件集合
		File[] inFiles = file.listFiles();
		//如果是空文件夹,直接删除
		if(inFiles==null){
			file.delete();
		}else{
			//如果非空文件夹,递归调用自己
			for(File singleFile:inFiles){
				delDir(singleFile.getAbsoultPath());
			}
			//删除内部文件后,再删除外层的已空文件夹
			file.delete();
		}
	}
}

你可能感兴趣的:(Java)