返回顶部
首页 > 资讯 > 后端开发 > JAVA >java实现从键盘接收文件路径,层级打印文件或文件夹名字
  • 174
分享到

java实现从键盘接收文件路径,层级打印文件或文件夹名字

java教程java键盘文件路径层级打印 2020-01-01 17:01:20 174人浏览 才女
摘要

一、实现效果需求:从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印。例如:把文件夹中的所有文件以及文件夹的名字按层级打印。二、实现逻辑获取所有文件和文件夹,返回File数组,遍历数组,无论是文件还是文件夹都需要直接打

一、实现效果

需求:从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印。

例如:把文件夹中的所有文件以及文件夹的名字按层级打印。

二、实现逻辑

获取所有文件和文件夹,返回File数组,遍历数组,无论是文件还是文件夹都需要直接打印,如果是文件夹,递归调用。

相关视频教程分享:java课程

三、实现代码

aaa是文件夹,里面有bbb.txt、ccc.txt、DDD.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来。

例如:

d565db487e4201797d01c64c2e15a30.png

代码如下:

public class Test4 {
    public static void main(String[] args) {
 
        File dir = getDir();                //获取文件夹路径
 
        printLev(dir,0);
 
    }
 
    
 
    public static File getDir() {
 
        //1,创建键盘录入对象
 
        Scanner sc = new Scanner(System.in);
 
        System.out.println("请输入一个文件夹路径:");
 
        //2,定义一个无限循环
 
        while(true) {
 
            //3,将键盘录入的结果存储并封装成File对象
 
            String line = sc.nextLine();
 
            File dir = new File(line);
 
            //4,对File对象判断
 
            if(!dir.exists()) {
 
                System.out.println("您录入的文件夹路径不存在,请输入一个文件夹路径:");
 
            }else if(dir.isFile()) {
 
                System.out.println("您录入的是文件路径,请输入一个文件夹路径:");
 
            }else {
 
                //5,将文件夹路径对象返回
 
                return dir;
 
            }
 
        }
    }

    public static void printLev(File dir,int lev) {
 
        //1,把文件夹中的所有文件以及文件夹的名字按层级打印
 
        File[] subFiles = dir.listFiles();
 
        //2,遍历数组
 
        for (File subFile : subFiles) {
 
            for(int i = 0; i <= lev; i++) {
 
                System.out.print("	");
 
            }
 
            //3,无论是文件还是文件夹,都需要直接打印
 
            System.out.println(subFile);
 
            //4,如果是文件夹,递归调用
 
            if(subFile.isDirectory()) {
 
                //printLev(subFile,lev + 1);
 
                printLev(subFile,++lev);
 
            }
 
        }
 
    }
 
}

更多相关文章教程请访问:java语言入门

--结束END--

本文标题: java实现从键盘接收文件路径,层级打印文件或文件夹名字

本文链接: https://lsjlt.com/news/4137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作