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