【Java】学习路径34-文件IO练习题

Posted on 2022-04-06 18:10  罗芭Remoo  阅读(40)  评论(0编辑  收藏  举报

练习题:

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());
    }
}