遍歷文件時,求和打印出現多次呢?
想打印一下每個目錄下文件數量,但是打印出現多次是怎么回事呢?
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+"個文件!");
}
}
}
2018-05-09
因為調用自己的時候(listDirector(file2);),listDirector()方法重新執行了一次:num重置為0,sum重新計數,System.out.println("一共:"+num+"個文件!")重新打印一次