*我对楼主的代码进行了改进,注释都加的很清楚,对指定目录遍历用到的是递归算法
import java.io.File; import java.util.ArrayList; import java.util.List;
public class Test1 { public static void main(String[] args) { //要遍历的目录 File dir = new File("src"); //遍历指定目录后得到的File对象放在次List集合中 List<File> txtFiles = new ArrayList<File>(); //到指定目录下面去查找txt文件 getTxtFiles(dir, txtFiles); //对结果进行遍历 for (File file : txtFiles) { System.out.println(file.getName()); } }
//在指定目录下查找所有的txt文件 public static void getTxtFiles(File file, List<File> txtFiels) { //如果是目录 if (file.isDirectory()) { File[] files = file.listFiles(); for (File f : files) { getTxtFiles(f, txtFiels); } } else {//如果是文件 if (file.getName().endsWith(".txt")) txtFiels.add(file); } } }
|