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);
}
}
}
}
}