练习题:
1、检测某目录(scr目录为例)下java源程序文件的数量。
参考思路:
首先获取到scr目录,然后使用list()获取所有名字,再使用String类下的endsWith方法检查即可。
参考代码:
查看代码
查看代码
File f_base = new File(new File("").getAbsolutePath());
File f_src = new File(f_base,"src");
String[] aa = f_src.list();
int count=0;
for (String temp : aa)
if(temp.endsWith(".java")){
System.out.println(temp+"\t这个文件是java源文件");
count++;
}
System.out.println("一共有"+count+"个java源文件。");
2、使用递归遍历一个文件夹中所有的文件,包括子目录(以项目文件夹为例)
参考思路:
使用递归的原因是文件夹中还有可能有文件夹,无穷无尽,所以需要使用递归,传入的是文件夹目录。
使用isDirectory()检测是否为文件夹,如果不是,则输出,如果是,则递归。
参考代码:
查看代码
import java.io.File;
public class Ex_01 {
public static void main(String[] args) {
File f_base = new File(new File("").getAbsolutePath());
listFiles(f_base);
}
public static void listFiles(File f){
File[] fs = f.listFiles();
for (File temp : fs)
if(temp.isDirectory())
listFiles(temp);
else System.out.println(temp.getAbsolutePath());
}
}