---------------------- android培训、java培训、期待与您交流! ----------------------
Java遍历文件文件夹的两种方式:
1。不使用递归的方法:
- 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);
- }
- }
2。使用递归的方法:
- import java.io.File;
- import java.util.ArrayList;
- public class FileSystem1 {
- private static ArrayList filelist = new ArrayList();
- public static void main(String[] args) {
- long a = System.currentTimeMillis();
- refreshFileList("c://java");
- System.out.println(System.currentTimeMillis() - a);
- }
- public static void refreshFileList(String strPath) {
- File dir = new File(strPath);
- File[] files = dir.listFiles();
- if (files == null)
- return;
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- refreshFileList(files[i].getAbsolutePath());
- } else {
- String strFileName = files[i].getAbsolutePath().toLowerCase();
- System.out.println("---"+strFileName);
- filelist.add(files[i].getAbsolutePath());
- }
- }
- }
- }
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima