JAVA:递归删除多层文件(超详细)

注意:

请不要直接复制代码,就往自己电脑上粘贴运行(这太危险了/(ㄒoㄒ)/~~),因为每个人电脑的磁盘分布可能不同,而且文件也是不同的,最重要的是,java中的程序,删除的文件是不进入回收站的,也就是无法恢复的,所以,请先认真阅读代码,理解了再进行下一步操作…

简单的

import java.io.File;
/*
 * 递归删除多层文件目录
 */
public class Test {
    
    

	public static void delDir(File file){
    
    
        if(file.isFile()){
    
    
            boolean delete = file.delete();
           if(delete) {
    
    
        	   System.out.println(file.getAbsolutePath()+":删除成功..");
           }else {
    
    
        	   System.out.println(file.getAbsolutePath()+":删除失败..");
           }
        }
        else{
    
    
            for(File sonfile:file.listFiles()){
    
    
                delDir(sonfile);
            }
        }
        boolean delete1 = file.delete();
        if(delete1) {
    
    
     	   System.out.println(file.getAbsolutePath()+":删除成功..");
        }else {
    
    
     	   System.out.println(file.getAbsolutePath()+":删除失败..");
        }
    }
	public static void main(String[] args) {
    
    
		File file=new File("F:\\aaa\\bbb");
		Test.delDir(file);	
	}
}

详细的

import java.io.File;

public class FileTest1 {
    
    

	/*
	 * 递归删除多层文件目录
	 */
	public void delFile(String path) {
    
    
		File file=new File(path);
		String[] list = file.list();
		int length=list.length;
		if(length !=0) {
    
    
			for(int i=0;i<list.length;i++) {
    
    
				File newFile=new File(path,list[i]);
				
				boolean directory = newFile.isDirectory();
				if(directory) {
    
    
					String path2 = newFile.getPath();
					System.out.println(path2);
					delFile(path2);
				}else {
    
    
					boolean delete = newFile.delete();
					if(delete) {
    
    
						System.out.println(newFile.getName()+":删除成功");
					}else {
    
    
						System.out.println(newFile.getName()+":删除失败");
					}
				}
			}
		}else {
    
    
			boolean delete = file.delete();
			if(delete) {
    
    
				System.out.println(file.getName()+":删除成功");
			}else {
    
    
				System.out.println(file.getName()+":删除失败");
			}
			String parentPath = file.getParent();
			String oldPath="F:\\eclipseWorkspace\\aaa\\bbb\\ccc";
			boolean equals = parentPath.equals(oldPath);
			if(equals) {
    
    
				return;
			}else {
    
    
				delFile(parentPath);
			}
			return;
		}
	}
	
	public void test() {
    
    
		File file3 = new File("F:/aaa/bbb/ccc/ddd/eee/fff/ggg/hhh/jjj/iii");
		boolean b = file3.mkdirs();
		if (b) {
    
    

			System.out.println("创建目录成功...");
		} else {
    
    
			// 如果已经目录存在,无法创建成功
			System.out.println("创建目录失败...");
		}
		
		String path="F:\\aaa\\bbb\\ccc";
		delFile(path);
	}
	
	public static void main(String[] args) {
    
    
		FileTest1 ft=new FileTest1();
		ft.test();
	}
}

猜你喜欢

转载自blog.csdn.net/zhangzhanbin/article/details/112534624