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); } }