File(遍历一个目录下的所有文件)
2016-12-13 10:28
363 查看
package com.hz.test; import java.io.File; import java.util.Arrays; import java.util.LinkedList; import java.util.List; public class Test { public static void main(String[] args) { File file = new File("E:\\相册"); long start = System.currentTimeMillis(); recursion(file); long end = System.currentTimeMillis(); System.out.println("时间差:"+(end-start)); } /* * 1、先将file放入容器 * 2、从容器中获取当前位置的数,判断是否是目录 * 2.1、如果是目录,则将目录下的所有文件,放入容器 * 2.2、如果是文件,则输出 * 3、将下标移动到下一个位置,重复做2号操作 * 4、直到将容器中所有的数据全部输出为止 */ // public static void recursion(File file) { // // List<File> list = new ArrayList<File>(); // // list.add(file); // // int sum = 0; // for (int i = 0; i <list.size(); i++) { // // File file2 = list.get(i); // if(file2.isDirectory()){ // try { // List<File> list2 = Arrays.asList(file2.listFiles()); // list.addAll(list2); //// System.out.println(list); // } catch (Exception e) { // e.printStackTrace(); // } // // }else{ // // System.out.println(file2.getAbsolutePath()); // sum++; // // } // } // System.out.println("总文件数:"+sum); // // // } //优化方法(广搜) public static void recursion(File file) { List<File> list = new LinkedList<File>(); list.add(file); int sum = 0; for(int i=0;i<list.size();){ File file2 = list.get(0); if(file2.isDirectory()){ try { List<File> list2 = Arrays.asList(file2.listFiles()); list.addAll(list2); } catch (Exception e) { e.printStackTrace(); } }else{ System.out.println(file2.getAbsolutePath()); sum++; } list.remove(0); } System.out.println("总文件数:"+sum); } //递归方法 // public static void recursion(File file) { // // List<File> list = Arrays.asList(file.listFiles()); // for (File file2 : list) { // if(file2.isDirectory()){ // recursion(file2); // } // System.out.println(file2); // } // } }
相关文章推荐
- 遍历一个目录(含子目录)下所有文件
- 遍历一个文件下的所有目录和文件
- 在Asp.net中如何遍历一个本地目录下的所有文件并上载到Web 服务器上指定的目录中
- JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- Java遍历一个目录下的所有文件
- 用递归遍历一个目录下的所有文件
- JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- 遍历某一个指定目录下的所有子目录和文件(递归)
- 一个遍历指定目录下所有文件的例子
- 如何使用perl遍历一个目录下的所有文件
- 递归遍历一个文件目录下的所有文件
- Java遍历一个目录下的所有文件
- Java中遍历一个文件夹下所有文件及目录的操作
- JS如何遍历一个文件夹下的所有文件与目录(转)
- 遍历一个目录下的所有文件
- 遍历一个文件目录下的所有文件
- 遍历一个目录下的所有文件
- 如何遍历一个文件夹下的所有文件与目录在(Javascript中)
- Java遍历一个目录下的所有文件
- JS如何遍历一个文件夹下的所有文件与目录