Java使用File类递归实现删除文件和撤销删除功能

我的网站:欢迎大家访问
使用File类,递归实现删除所有文件夹和文件功能

package com.ifueen.classtest.recursion;

import java.io.File;

public class RecursionTest {
	/*
	 * 递归
	 * */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File file = new File("E:\\人民不需要自由");   //创建File对象
		del(file);
	}
	public static void del(File file) {		//设计方法删除
		
		if (file!=null) {
			File[] listFiles = file.listFiles();		//拿到所有对象
			for (File file2 : listFiles) {		//拿到每个对象
				if (file2.isFile()) {		//如果对象是文件
					file2.delete();			//直接删除
				}else{		//说明是文件夹
					del(file2);			//递归调用自身
				}
			}
		}
		file.delete();		//删除
		System.out.println("删除成功!!!");
	}	

}

然后撤销删除(撤销上面刚删除的目录)功能

package com.ifueen.homework;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

public class _01HomeWork {
	/*
	 * 
      	撤销删除(撤销上面刚删除的目录)功能
        在删除的时候定义一个容器,将删除的值装进去   	
	 * */
	static ArrayList<File> arrayList = new ArrayList<File>();		//装文件
	static ArrayList<File> arrayList1 = new ArrayList<File>();	//装文件夹	
	
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File file = new File("E:\\人民不需要自由");
		String name = file.getAbsolutePath();
		System.out.println(name);
		del(file);
		
		for (File file3 : arrayList1) {
			file3.mkdir();
		}
		for (File file4 : arrayList) {
			file4.createNewFile();
		}
	}
	public static void  del(File file) throws IOException {
		if (file!=null) {  		//如果file对象不为空
			File[] listFiles = file.listFiles();   		//拿到所有的对象
			for (File file2 : listFiles) {			//遍历所有对象
				if (file2.isFile()) {		//如果是文件
					arrayList.add(file2);		//装文件到容器中
					file2.delete();			//直接删除
				}else{
					arrayList1.add(file2);			//装文件夹
					del(file2);  			//递归调用自身
				}
			}
		}
	}
}

这样就实现了删除和撤销删除的功能

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值