java实现递归删除目录/文件夹,删除成功返回true,失败一个便返回false

import java.io.File;

public class FileDemo {
    
    
    public static void main(String[] args) {
    
    
    	File f = new File("d:test");
    	boolean result = deleteDir(f)
    	System.out.println(result);
    }
    
	public static boolean deleteDir(File f) {
    
    
	        boolean result = true;
	        // 如果是目录
	        if (f.isDirectory()) {
    
    
	            File[] fileArray = f.listFiles();
	            if (fileArray != null) {
    
    
	                for (File file : fileArray) {
    
    
	                    if (file.isDirectory()) {
    
    
	                        if (!file.delete()) {
    
    
	                            // 只有是空指针 | 没有权限的文件或者目录才返回false
	                            result = deleteDir(file);
	                        }
	                    } else {
    
    
	                        if (!file.delete()) {
    
    
	                            return false;
	                        }
	                    }
	                }
	            } else return false;
	        }
	        // 如果是文件删不了,或者是最后一个空白目录删不了
	        if (!f.delete()){
    
    
	            result = false;
	        }
	        return result;
	    }
	}

Guess you like

Origin blog.csdn.net/m0_52154312/article/details/121426808