java 文件 读取目录下的所有文件(包括子目录)

转自:http://www.cnblogs.com/pricks/archive/2009/11/11/1601044.html

 

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;



public class test {



    public static void main(String[] args) {

        //目录

        File dataDir = new File("E:/资源库资源/20091111");

        //存放目录及其子目录下的所有文件对象

        List<File> myfile = new ArrayList<File>();

        //开始遍历

        listDirectory(dataDir, myfile);

        

        System.out.println("目录下包含 " + myfile.size() + "个文件:");

        for(File file : myfile){

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

        }

    }

    /** *//**

     * 遍历目录及其子目录下的所有文件并保存

     * @param path 目录全路径

     * @param myfile 列表:保存文件对象

     */

    public static void listDirectory(File path, List<File> myfile){

        if (!path.exists()){

            System.out.println("文件名称不存在!");

        }

        else

        {

            if (path.isFile()){

                myfile.add(path);

            } else{

                File[] files = path.listFiles();

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

                    listDirectory(files[i], myfile);

                }

            }

        }

    }

}

 

你可能感兴趣的:(java)