public static void main(String[] args) throws IOException { FileUtils.listDirectory(new File("D:\\mylove")); //相当于下面的三行代码 /*File file=new File("D:\\mylove"); FileUtils fu=new FileUtils(); fu.listDirectory(file); */ } public static void listDirectory(File dir)throws IOException{ if(!dir.exists()){ throw new IllegalArgumentException("目录"+dir+"不存在"); } if(!dir.isDirectory()){ throw new IllegalArgumentException(dir+"不是目录"); } / String[]filenames=dir.list();返回的是字符串数组,直接子的名称,不包括子目录下的内容 for (String string : filenames) { System.out.println(dir+"\"+string); }/ // 如果要遍历子目录下的内容,就需要构造成File对象做递归操作,File提供了直接返回File对象的API File[] files=dir.listFiles();//返回的是直接子目录(文件)的抽象 if(files!=null&&files.length>0){//判断是否存在子目录 for (File file : files) { if(file.isDirectory()){ listDirectory(file); //递归操作 }else{ System.out.println(file); } } } } }
Java之IO,遍历一个目录下的所有的文件(包括其子目录中的)
2016-06-14 20:34:54 来源:慕课网