Java File类应用:递归遍历文件夹和递归删除文件 |
您所在的位置:网站首页 › java遍历文件过滤文件夹和文件夹 › Java File类应用:递归遍历文件夹和递归删除文件 |
要求: 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 |