JAVA利用递归的方法删除一个文件夹以及文件夹下所有的子文件

时间:2021-04-26 09:56:15

今天需要用到删除文件的方法,一年前这个时候也写过当时,写的是一个文件夹下面不存在其他文件夹,只存在子文件。但是那时不知道存在什么情况,总是出现文件删不掉,虽然到现在也不知道什么原因,猜测 是什么流被占用吧【我记得当时流都关了的。。。


今天是利用递归删除,发现递归真的蛮好用的,就是有时效率太低。。。虽然简单但是也贴上来吧

public boolean deleteFolder(String url){
	File file=new File(url);
	if(!file.exists()){
		return false;
	}
	if(file.isFile()){
		file.delete();
		return true;
	}else{
		File[] files=file.listFiles();
		for(int i=0;i<files.length;i++){
			String root=files[i].getAbsolutePath();//得到子文件或文件夹的绝对路径
			//System.out.println(root);
			deleteFolder(root);
		}
		file.delete();
		return true;
	}