递归打印多级目录

话不多说,直接上代码:

import java.io.File;

public class demo2PrintDir {
    public static void main(String[] args) {
        String s = new String("E:\\demo");
        printAllFiles(s);

    }
    public static void printAllFiles(String pathname){
        File file = new File(pathname);//创建File
        File[] files = file.listFiles();//把当前File对象下所有的文件夹或目录
        for (File file1: files){
            if (file1.isFile()){//递归的终止条件是:当前File为文件
                System.out.println(file1.getAbsolutePath());
            }
            else{//当前File为目录,则,打印当前File的子文件的递归目录
                //String s = file1.getPath();
                //printAllFiles(s);
                //printAllFiles(file1.getPath());
                System.out.println(file1.getAbsolutePath());
                printAllFiles(file1.getAbsolutePath());
            }

        }


    }
}

当选择只打印java文件的时候,当File为目录时,不打印。为文件时,判断是否以Java结尾

if else结构修改为`

if (file1.isFile()){//递归的终止条件是:当前File为文件
                if(file1.getAbsolutePath().endsWith(".java")){
                    System.out.println(file1.getAbsolutePath());再次判断
                }
            }
            else{//当前File为目录,则,打印当前File的子文件的递归目录
                //String s = file1.getPath();
                //printAllFiles(s);
                //printAllFiles(file1.getPath());
                //System.out.println(file1.getAbsolutePath())备注掉
                printAllFiles(file1.getAbsolutePath());

            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值