遍历指定目录的源代码(包括子目录)

很简单的代码,只是遍历目录,然后将所有的文件(不包括目录)名(含绝对路径)放到一个ArrayList中,最后打印该ArrayList。 

不过在这个基础上可以开发很多有用的东西,本代码关键是演示如何遍历的: 
/*
* FileManager.java
*
*/

package cn.com.jointforce.common;

import java.io.*;
import java.util.*;

/**
*
@author Eric
*/
public class FileManager {
    
    
/** Creates a new instance of FileManager */
    
public FileManager() {
    }
    
    
// All files container
    public ArrayList fileContainer = new ArrayList();
    
    
/**
     * Kernel function, using recursion
     
*/
    
public void searchFiles(String dir) {
        File root 
= new File(dir);
        File[] file_array 
= root.listFiles();
        
        
for (int i=0; i<file_array.length; i++) {
            
if (file_array[i].isDirectory()) {
                searchFiles(file_array[i].getAbsolutePath());
            } 
else {
                fileContainer.add(file_array[i].getAbsolutePath());
            }
        }
    }
        
    
/**
     * Main function
     
*/
    
public static void main(String[] args) {
        FileManager fm 
= new FileManager();
        fm.searchFiles(
"D:\\JointForce");
        
int file_number = fm.fileContainer.size();
        System.out.println(
"Found " + file_number + " files...");
        
for (int i=0; i<file_number; i++) {
            System.out.println((String)fm.fileContainer.get(i));
        }
    }
}

 

 

posted @ 2011-01-03 12:31  super119  阅读(286)  评论(0编辑  收藏  举报