我挑选出来我的D盘来查找一下D盘的文件,里面的代码文件不多(其他盘多,举例子就看这个吧!),里面有我写了很多的代码文件(.java),现在我们去查一下,编译后的.class文件有多少?如何去遍历D盘内所有的.class文件?又怎么把其他文件过滤掉呢?利用File类的知识,写一段小程序!
import java.io.File;
import java.io.FileFilter;
//遍历D盘下,所有.class为结尾的文件
public class TestShowAllFiles {
static int count = 0;//.class文件计数器
public static void main(String[] args) {
File file = new File("D:\\");
showAll(file);
System.out.println("磁盘D中一共有" + count + "个.class类型文件!");
}
public static void showAll(File dir) {
//匿名内部类
File[] files = dir.listFiles(new FileFilter() {
public boolean accept(File file) {
if (file.isDirectory()) {//保存文件夹
return true;
}
if (file.isFile()) {//找.class后缀的文件
if (file.getName().endsWith(".class")) {
return true;
}
}
return false;
}
});
if (files != null) {
for (File f : files) {//循环遍历
if (f.isFile()) {//是.class文件就打印
count++;//打印一个.class文件就自增一次(计.class文件个数)
System.out.println(f.getName());
} else {
showAll(f);//利用递归,如果是文件夹,进入该文件夹再次寻找.class文件,过滤其他文件
}
}
}
}
}
遍历出来的文件就不给你们看了,就贴一下.class文件吧!