黑马程序员———IO

来源:互联网 发布:苏州管家婆软件 编辑:程序博客网 时间:2024/05/20 00:12

---------------------- android培训、java培训、期待与您交流! ----------------------

Java遍历文件文件夹的两种方式:

 1。不使用递归的方法:

  1. import java.io.File;
  2. import java.util.LinkedList;
  3. public class FileSystem {
  4.     public static void main(String[] args) {
  5.         
  6.         long a = System.currentTimeMillis();
  7.         
  8.         LinkedList list = new LinkedList();
  9.         File dir = new File("c://java//");
  10.         File file[] = dir.listFiles();
  11.         for (int i = 0; i < file.length; i++) {
  12.             if (file[i].isDirectory())
  13.                 list.add(file[i]);
  14.             else
  15.                 System.out.println(file[i].getAbsolutePath());
  16.         }
  17.         File tmp;
  18.         while (!list.isEmpty()) {
  19.             tmp = list.removeFirst();
  20.             if (tmp.isDirectory()) {
  21.                 file = tmp.listFiles();
  22.                 if (file == null)
  23.                     continue;
  24.                 for (int i = 0; i < file.length; i++) {
  25.                     if (file[i].isDirectory())
  26.                         list.add(file[i]);
  27.                     else
  28.                         System.out.println(file[i].getAbsolutePath());
  29.                 }
  30.             } else {
  31.                 System.out.println(tmp.getAbsolutePath());
  32.             }
  33.         }
  34.         
  35.         System.out.println(System.currentTimeMillis() - a);
  36.     }
  37. }

2。使用递归的方法:

  1.  import java.io.File;
  2. import java.util.ArrayList;
  3. public class FileSystem1 {
  4.     private static ArrayList filelist = new ArrayList(); 
  5.     
  6.     public static void main(String[] args) {
  7.         
  8.         long a = System.currentTimeMillis();
  9.         refreshFileList("c://java");
  10.         System.out.println(System.currentTimeMillis() - a);
  11.     }
  12.     public static void refreshFileList(String strPath) { 
  13.         File dir = new File(strPath); 
  14.         File[] files = dir.listFiles(); 
  15.         
  16.         if (files == null
  17.             return
  18.         for (int i = 0; i < files.length; i++) { 
  19.             if (files[i].isDirectory()) { 
  20.                 refreshFileList(files[i].getAbsolutePath()); 
  21.             } else { 
  22.                 String strFileName = files[i].getAbsolutePath().toLowerCase();
  23.                 System.out.println("---"+strFileName);
  24.                 filelist.add(files[i].getAbsolutePath());                    
  25.             } 
  26.         } 
  27.     }
  28. }

 

---------------------- android培训、java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima