java递归实现文件夹文件的遍历输出

学习java后对一个面试小题(今年年初在团结湖面试的一个题目) 的习题的编写。

''给你一个文件,判断这个文件是否是目录,是目录则输入当前目录文件的个数和路径,'''

 

/**
 * @author lileilei
 *2017年11月30日
 *file.java
 */
import java.io.File;
import java.util.LinkedList;
public class fileexit {
    public static void findfiles(File file) {
        int filenum=0;
        int dicetnum=0;
        if(file.exists()){
            if(file.isFile()){
                System.out.println("文件名:"+file+"个数:"+1);
            }else if (file.isDirectory()) {
                LinkedList<File> list = new LinkedList<File>();
                File[] files = file.listFiles();
                for(File file2:files){
                    if (file2.isDirectory()){
                        String Fdict = file2.getAbsolutePath();
                        System.out.println("文件夹是:"+file2.getAbsolutePath());
                        File path=new File(Fdict);
                        fileexit.findfiles(path);
                        dicetnum++;
                    }else{
                        System.out.println("文件路径:" + file2.getAbsolutePath());
                        filenum++;
                        }    
                }
                System.out.println("****************查找结果*******************");
                System.out.println("路径是:"+file);
                System.out.println("路径:"+file+"   下总共有文件总数量:"+filenum+" 文件夹总数量:"+dicetnum);
            }else {
                System.out.println("既不是文件也不是文件夹,鬼知道你告诉我的是什么呢?");
            }
        }else {
            System.out.println("你要判断的文件怎么可能是不存在的东西呢!");
        }
    }
    public static void main(String[] args) {
        fileexit fil=new fileexit();
         File path=new File("C:\\Users\\Administrator\\workspace\\java");
        fil.findfiles(path);
    }
}

 

转载于:https://www.cnblogs.com/leiziv5/p/7930581.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值