问答详情
源自:2-2 遍历目录

遍历文件时,求和打印出现多次呢?

想打印一下每个目录下文件数量,但是打印出现多次是怎么回事呢?


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+"不存在!");https://img4.mukewang.com/5af1638a000163e808130726.jpg

}

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-08 16:46

个回答

  • syousyou
    2018-05-09 12:36:25
    已采纳

    因为调用自己的时候(listDirector(file2);),listDirector()方法重新执行了一次:num重置为0,sum重新计数,System.out.println("一共:"+num+"个文件!")重新打印一次