想打印一下每个目录下文件数量,但是打印出现多次是怎么回事呢?
package com.bijie.xc;
import java.io.File;
import java.io.IOException;
public class FileUtils {
public void listDirector(File dir) throws IOException{
if(!dir.exists()){
throw new IllegalArgumentException("目录"+dir+"不存在!");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是目录!");
}else{
int num = 0;
File[] file = dir.listFiles();//返回子目录文件对象
if(file!=null && file.length>0){
for (File file2 : file) {
if(file2.isDirectory()){
listDirector(file2);
}else{
System.out.println(file2);
num++;}
}
}
System.out.println("一共:"+num+"个文件!");
}
}
}
因为调用自己的时候(listDirector(file2);),listDirector()方法重新执行了一次:num重置为0,sum重新计数,System.out.println("一共:"+num+"个文件!")重新打印一次