zoukankan      html  css  js  c++  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);
                }
            }
    
        }
    }
    

    有文件时,运行结果(即第一次运行结果):
    这里写图片描述

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

    这里写图片描述

  • 相关阅读:
    【php】目录、路径和文件 操作
    [PHP100]留言板(一)
    Software--Architecture--Design
    Coursera--Deep Learning--吴恩达 深度学习笔记 2017.12.10
    DeepLearning.ai--吴恩达--Chapter 2_Vecterization
    Datastructure--学习资源 Center
    leetcode--Algorithm--Array
    Coursera--DataStructure-加州理工大学圣地亚哥分校课程
    Coursera--Deep Learning--吴恩达 深度学习笔记 2017.12.03
    Data Structure & Algorithm
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6809629.html
Copyright © 2011-2022 走看看