递归遍历文件夹中的文件
package util; import java.io.File; import java.util.ArrayList; import entity.FileOfDown; public class FileUtil { public static ArrayList<File> getFiles(String absolutePath){ return new FileList(absolutePath).fileList ; } /** * * 功能: 实现遍历指定绝对路径下的所有文件 * 设计原因: 如果单一使用一个方法,则需要在方法递归的时候传递最终存放文件数组的对象。 * 使用一个类则可以将最终存放结果的数组设置为属性,这样递归方法无论递归多深都可以访问属性。 * */ private static class FileList { public ArrayList<File> fileList = new ArrayList<File>() ; public FileList(String absolutePath ){ getFiles(absolutePath) ; } private void getFiles(String absolutePath ){ File file = new File(absolutePath) ; if(!file.exists()){ return ; } if(file.isDirectory()){ // {@code null} if this abstract pathname does not denote a directory, //or if an I/O error occurs. File[] files = file.listFiles() ; if(files == null || files.length == 0 ){ return ; } for(File fileItem : files ){ if(fileItem.isDirectory()){ getFiles(fileItem.getAbsolutePath()) ; }else{ fileList.add(fileItem) ; } } }else{ fileList.add(file) ; } } } }