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();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你不懂、、、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值