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

很简单的代码,只是遍历目录,然后将所有的文件(不包括目录)名(含绝对路径)放到一个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));
        }
    }
}

 

 

你可能感兴趣的:(源代码)