美文网首页
Java 使用递归遍历、删除、搜索某目录下文件

Java 使用递归遍历、删除、搜索某目录下文件

作者: 0小水瓶0 | 来源:发表于2020-03-04 10:15 被阅读0次

    1、使用递归遍历D:\a目录下所有的文件或文件夹

    package cn.itsqq.main;
    
    import java.io.File;
    
    /**
     * 递归遍历目录名称
     */
    public class Demo6 {
    
        public static void main(String[] args) {
             File file=new File("D:\\a");
            getAllFileName(file);
        }
        public static void getAllFileName(File file){
            System.out.println("A==="+file.toString());
            File[] files = file.listFiles();
            for (File f1 : files) {
                if(f1.isDirectory()){
                    getAllFileName(f1);//递归
                }else {
                    System.out.println(f1);
                }
            }
        }
    }
    

    2、使用递归删除D:\a目录下所有的文件或文件夹

    package cn.itsqq.main;
    import java.io.File;
    /**
     * 递归删除目录名称
     */
    public class Demo6 {
        public static void main(String[] args) {
             File file=new File("D:\\a");
            getAllFileName(file);
        }
        public static void getAllFileName(File file){
            File[] files = file.listFiles();
            for (File f1 : files) {
                if(f1.isDirectory()){
                    getAllFileName(f1);//递归
                    f1.delete();//递归到最后为空然后删除空文件夹
                }else {
                    f1.delete();
                }
            }
        }
    }
    

    3、使用递归搜索D:\a目录下指定的文件或文件夹

    package cn.itsqq.main;
    import java.io.File;
    /**
     * 搜索文件
     */
    public class Demo7 {
        public static void main(String[] args) {
            getAllDir(new File("D:\\a"),".java");//搜索以“.java”后缀结尾的文件
        }
        /**
         * @param file 文件
         * @param str 结尾标志
         */
        public static void getAllDir(File file,String str){
            //System.out.println(file);
            File[] files = file.listFiles();
            for (File f1 : files) {
                if(f1.isDirectory()){
                    getAllDir(f1,str);
                }else {
                    String name = f1.getName();//获取文件名
                    name = name.toLowerCase();//不区分大小写
                    boolean b1 = name.endsWith(str);//判断文件结尾是否是str
                    if(b1){
                        System.out.println(f1);//如果文件结尾是str则打印输出
                    }
                }
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Java 使用递归遍历、删除、搜索某目录下文件

          本文链接:https://www.haomeiwen.com/subject/krgplhtx.html