JAVA删除文件的递归(简单易懂,适合初学)
找了很多的递归删除的博文,发现博主们都是大佬,用的东西都超纲了,对于我这种刚学到API的小白来说,真的看不懂,于是自己就用目前一丢丢的知识水平搞了一个。
话不多说,直接上代码。
public class TestDemo05 {
public static void main(String[] args) {
//提示输入要删除的文件的路径
System.out.print("请输入你要删除的文件的具体路径:");
//将输入的string类型转为File类型,以便进行后续操作
File a = new File(new Scanner(System.in).nextLine());
//本次采用引用方法的方式,方便后续引用自身方法时传入参数
//方法设计为有参有返回值为string的类型,的到的结果可以直接打印。#
System.out.println(method01(a));
}
public static String method01(File a) {
//while方法循环,判断主路径下文件夹是否为空
while(a.listFiles().length!=0) {
//转数组方法,方便遍历主文件夹下的文件
File[] b = a.listFiles();
//遍历主文件夹下的文件
for(int i = 0;i<a.length();i++) {
//判断是否为文件而不是文件夹
if(b[i].isFile()) {
//为文件时进行删除操作
b[i].delete();
}else {
//遍历已经判断为文件夹
if(b[i].listFiles().length==0) {
//为空时直接删除空文件夹
b[i].delete();
}else {
//不为空时,循环引用自身的方法。
method01(b[i]);
}
}
}
}
//返回一个清理完成的结果
return "您输入的文件夹内容已经清理完毕!";
}
}
不懂得地方,欢迎大家提问(尽我所能)。