java遍历文件夹的两种方法

2014-11-23 21:52:22 · 作者: · 浏览: 64

  A.不使用递归:


  import java.io.File;


  import java.util.LinkedList;


  public class FileSystem {


  public static void main(String[] args) {


  long a = System.currentTimeMillis();


  LinkedList list = new LinkedList();


  File dir = new File("c:\\java\\");


  File file[] = dir.listFiles();


  for (int i = 0; i < file.length; i++) {


  if (file[i].isDirectory()) list.add(file[i]);


  else


  System.out.println(file[i].getAbsolutePath());


  }


  File tmp; while (!list.isEmpty()) {


  tmp = list.removeFirst();


  if (tmp.isDirectory()) {


  file = tmp.listFiles();


  if (file == null) continue;


  for (int i = 0; i < file.length; i++) {


  if (file[i].isDirectory()) list.add(file[i]);


  else


  System.out.println(file[i].getAbsolutePath());


  }


  }


  else


  { System.out.println(tmp.getAbsolutePath()); }


  }


  System.out.println(System.currentTimeMillis() - a);


  }


  }