利用递归删除OA文件夹,只有空文件夹才能用delete方法删除

解题思路:

1.file提供的方法里面delete可以用来删除文件或者文件夹,但是只能删空的文件夹。

2.如果是文件,那么可以直接删除。

3.如果是文件夹就需要到最后一层倒着删除

4.用到递归思想,同时生成子文件数组,遍历

代码如下:

public class Lx6 {
public static void main(String[] args) {
	File f=new File("D:/OA");
	deleteFile(f);
	System.out.println("结束");
}
public static void deleteFile(File f) {
	if(f.isFile()) {
		f.delete();
	}else {
	//生成对应子文件或者文件夹的数组,判断是不是最后一层
	File[] arr=f.listFiles();
	if(arr.length>0) {
		for(File f1:arr) {
			deleteFile(f1);
		}
	 		}
	   f.delete();
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下 Python 代码来显示 aa 文件夹下所有的 .txt 文件并使用递归方法删除文件夹 aa: ```python import os # 显示 aa 文件夹下所有的 .txt 文件 def show_txt_files(path): for file_name in os.listdir(path): file_path = os.path.join(path, file_name) if os.path.isdir(file_path): show_txt_files(file_path) elif file_name.endswith('.txt'): print(file_path) # 递归删除文件夹 aa def remove_aa_folder(path): for file_name in os.listdir(path): file_path = os.path.join(path, file_name) if os.path.isdir(file_path): remove_aa_folder(file_path) else: os.remove(file_path) os.rmdir(path) # 测试代码 aa_path = 'aa' show_txt_files(aa_path) remove_aa_folder(aa_path) ``` 该代码会首先定义两个函数:`show_txt_files` 和 `remove_aa_folder`。 `show_txt_files` 函数用于显示 aa 文件夹下所有的 .txt 文件。它会遍历 aa 文件夹下的所有文件和文件夹,如果遇到文件夹,就递归调用自身来处理该文件夹下的文件;如果遇到 .txt 文件,就输出该文件的路径。 `remove_aa_folder` 函数用于递归删除文件夹 aa。它会首先遍历 aa 文件夹下的所有文件和文件夹,如果遇到文件夹,就递归调用自身来删除文件夹下的文件和文件夹;如果遇到文件,就使用 `os.remove` 函数删除该文件。最后,使用 `os.rmdir` 函数删除的 aa 文件夹。 接下来,我们可以测试这两个函数。首先调用 `show_txt_files` 函数来显示 aa 文件夹下所有的 .txt 文件,然后调用 `remove_aa_folder` 函数来删除文件夹 aa。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值