0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# 头歌Educoder——Java面向对象 - 文件类 第3关:文件查看器(递归实现)

任务描述

本关任务:实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。

相关知识

可以使用isDirectory()方法来判断一个File对象是否是一个文件夹。

示例:

image.png

如果D://hello是一个文件夹,则输出true

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • 实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。如果是文件夹则在其名字之前加上+--,若是文件则加上--,上级目录与下级目录、下级文件用两个空格作为间隔,补充完善右侧代码区中的showDirStructure(File dir)函数实现要求的功能,其中函数参数含义如下:

1).dir:指定要显示的文件夹。

main函数可点击右上角文件夹切换至本关Test.java文件进行查看。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

样例1

输入:src/step3/root

输出:
image.png

样例2

输入:src/step3/dir

输出:

image.png

提示:java中的File类有listFiles方法可以获取文件目录。

开始挑战吧,祝你成功!

实现代码

package step3;

import java.io.File;
import java.util.Arrays;

public class Task {
    /********** Begin **********/
    String dir ="+--";
    String wj = "--";
    String level = "";
    public void showDirStructure(File file) {
        //判断是否是文件夹
        if(file.isDirectory()){
            System.out.println(level+dir+file.getName());
            String level1=level;
            level+="  ";
            File[] files = file.listFiles();
            Arrays.sort(files);
            for (File file1 : files) {
                showDirStructure(file1);
            }
            level=level1;
        }else{
            System.out.println(level+wj+file.getName());
        }
    }
    /********** End **********/
}
举报

相关推荐

头歌--Java面向对象 - String类

0 条评论