java中如何获取目录中的所有文件

java中如何获取目录中的所有文件
最好有代码

public static void list(File path, String[] extArr,HashMap hm) {
if (!path.exists()) {
System.out.println("文件名称不存在!");
} else {
if (path.isFile()) {
for (int i = 0; i < extArr.length; i++) {
if (path.getName().toLowerCase().endsWith(extArr[i])) {// 文件格式
hm.put(path.getName(), path);
}
}

} else {
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
list(files[i], extArr,hm);
}
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-18

/*** 

     * 获取指定目录下的所有的文件(不包括文件夹),采用了递归 

     *  

     * @param obj 

     * @return 

     */  

    public static ArrayList<File> getListFiles(Object obj) {  

        File directory = null;  

        if (obj instanceof File) {  

            directory = (File) obj;  

        } else {  

            directory = new File(obj.toString());  

        }  

        ArrayList<File> files = new ArrayList<File>();  

        if (directory.isFile()) {  

            files.add(directory);  

            return files;  

        } else if (directory.isDirectory()) {  

            File[] fileArr = directory.listFiles();  

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

                File fileOne = fileArr[i];  

                files.addAll(getListFiles(fileOne));  

            }  

        }  

        return files;  

    }  


相似回答
大家正在搜