Java File类应用:递归遍历文件夹和递归删除文件

您所在的位置:网站首页 java遍历文件过滤文件夹和文件夹 Java File类应用:递归遍历文件夹和递归删除文件

Java File类应用:递归遍历文件夹和递归删除文件

2024-07-15 22:21| 来源: 网络整理| 查看: 265

要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件

注意:

以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归删除完后,在使用flie.delete()删除整个文件夹 package 递归删除文件夹下的所有文件; import java.io.File; public class Test { public static void main(String[] args) { File file=new File("D:\\Homework"); showFile(file); System.out.println(); removeFile(file); } //递归遍历文件夹 public static void showFile(File file){ //判断file是文件还是文件夹,是文件直接输出 if(file.isFile()){ System.out.println("--文件名:"+file); }else{ System.out.println("【文件夹】:"+file); //获取当前文件夹下的所有文件,包括文件夹 File[] files=file.listFiles(); //对当前文件夹下的文件进行遍历,此时需用重复上述操作:判断是否为文件,若是,直接输出;若不是,需要再次遍历 //此时就需要递归了 for (File file2 : files) { showFile(file2); } } } //递归删除文件夹和所有文件 public static void removeFile(File file){ //判断file是文件还是文件夹,是文件直接删除 if(file.isFile()){ boolean isSuccess=file.delete(); String string=isSuccess?"删除成功":"删除失败"; System.out.println("--文件删除:"+file+" "+string); }else{ System.out.println("【文件夹】:"+file); //获取当前文件夹下的所有文件,包括文件夹 File[] files=file.listFiles(); //遍历文件夹,并调用removeFile()对每个文件判断是文件夹还是文件,在进行删除 for (File file2 : files) { removeFile(file2); } } } }

有文件时,运行结果(即第一次运行结果):

没有文件时运行结果(即在完成删除后,再次运行程序结果):



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3