列举一个文件夹下的所有文件
这个意思比较简单,就不多说了,直接看代码吧!1、辅助类。
是两个FileFilter,一个文件filter,一个目录filter
public class FileFilter implements java.io.FileFilter {public boolean accept(File pathname) {if(pathname.isFile()){return true;}return false;}}public class DirectortyFilter implements FileFilter {public boolean accept(File pathname) {if(pathname.isDirectory()){return true;}return false;}}
2、方法。
/** ** @param parentName 绝对路径地址 * @throws Exception */public static void checkDir(String parentName)throws Exception{File file = new File(parentName);boolean flag = true;while (flag){//查出parentName下的所有文件File[] fileNames = file.listFiles(new FileFilter());if(fileNames != null){for (int i = 0; i < fileNames.length; i++) {File f = fileNames;System.out.println(f.getParent()+File.separatorChar+f.getName());}}//查出parentName下的所有目录File[] directories = file.listFiles(new DirectortyFilter());if(directories != null){for (int i = 0; i < directories.length; i++) {File dir = directories;//绝对路径String path =dir.getAbsolutePath();//递归checkDir(path);}}flag = false;}}
3、测试方法
public static void main(String[] args) throws Exception {System.out.println("开始------------->");checkDir("E:/");System.out.println("<-----------------结束");}
页:
[1]