栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 通过递归删除指定目录下所有包含指定字符文件名的文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 通过递归删除指定目录下所有包含指定字符文件名的文件

递归,即方法自己调用自己。在这个问题中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套 ,所有可以使用递归实现。
上代码

public static void main(String[] args) {	
	delFileByName("D:\test","a");
}


public static void delFileByName(String url, String s) {
	// 创建文件
	File grandpaFile = new File(url);
	// 检查该对象是否是文件夹
	if(grandpaFile.isDirectory()) {
		// 返回该目录中的文件和目录	
		File[] fatherFiles = grandpaFile.listFiles();

		if (fatherFiles.length > 0) {
		    // 循环返回的文件
			for (File sonFile : fatherFiles) {
				// 继续调用自身进行判断
				delFileByName(sonFile.getPath(),s);
			}
		} else {
			// 判断自己是否包含特殊字符
			if(grandpaFile.getName().contains(s)) {
				// 删除包含特殊字符的文件
				grandpaFile.delete();
			}
		}
	} else {
		if(grandpaFile.getName().contains(s)) {
			grandpaFile.delete();
		}
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号