疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java遍历电脑文件夹下的文件


 

  java遍历电脑文件夹下的文件,代码:

  import java.io.File;

  import java.io.IOException;

  import java.util.LinkedList;

  public class Test {

  public static void main(String[] args) throws IOException {

  long a = System.currentTimeMillis();//记录开始时间

  LinkedList list = new LinkedList();

  File dir = new File("d:/");

  File[] file = dir.listFiles();//存放的是一级目录下的文件以及文件夹

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

  if (file[i].isDirectory())

  list.add(file[i]);//如果是文件夹就加到list中

  else

  System.out.println(file[i].getAbsolutePath());//如果是文件就输出绝对路径

  }

  File tmp;

  while (!list.isEmpty()) {//遍历list中的文件夹

  tmp = (File) 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]);//如果是文件夹就加入到list中,会在下次循环中继续调用文件夹下的文件或者文件夹

  else

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

  }

  } else {

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

  }

  }

  System.out.println(System.currentTimeMillis() - a);//打印遍历的时间

  }

  }