遍历所有文件和子文件
通过文件流遍历,核心就是【递归】,递归的基线就是文件层级,如果是文件夹层级,则调用自己,进行递归。
这里在格式上还进行了约束,要求按照如下格式进行输出打印,以方便阅读。
|D:\Java\practice
|__D:\Java\practice\.metadata
|____D:\Java\practice\.metadata\.lock
|____D:\Java\practice\.metadata\.log
这里将遍历封装了函数,然后将格式打印封装为另一个函数,在遍历方法内部调用了private类修饰的格式打印函数。
/**
*遍历文件和文件夹
*@param dir File类对象
*@param level int类型,表示当前File的文件夹级别,用于调用getSeparatro()方法,以确定格式打印
*/
public static void listDir(File dir, int level) {
System.out.println(getSeparatro(level) + dir.toString()); //父目录打印,标识作用,可以删除
File[] files = dir.listFiles();
level++; //递归,每次会【溯回】操作,对应文件夹的等级会被记录
if (null != files && 0 < files.length) {
f