获取指定目录(包含子目录)下所有的txt文件的个数,并打印文件名称。程序2。

时间:2022-07-02 12:47:53
package pxyhomeworkday09;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;
public class try2 {
 public static void main(String[] args) {
  File f=new File("G:\\avi");
  List<String> l = new ArrayList<>();//新建了一个list用来放结果
  l= readFile(f);
  System.out.println(l);
  System.out.println(l.size());
 }
 
 
 
 private static List readFile(File file) {     //方法的返回值是一个list
        List<String> result = new ArrayList<>();    //新建list列表
        for (String s : file.list()) {       //list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
            File child = new File(file.getAbsolutePath() + "/" + s);//新建了一个File文件child来存入文件路径和文件名
            if (child.isDirectory()) {        //判断这个File是否是文件夹
                result.addAll(readFile(child));      //是文件夹就再调用该方法,并把其返回的结果放入result
            } else result.add(child.getAbsolutePath());    //File是文件,将其地址放入result
        }
        return result;
    }
 
 

}