文件按层级打印

来源:互联网 发布:吉林大学就业知乎 编辑:程序博客网 时间:2024/06/11 15:58
package com.casts;import java.io.File;import java.util.Scanner;/* *  获取一个文件夹路径,将里面的内容按层级进行打印 *  分析: *      键盘录入一个文件夹路径 *      判断为文件后,进行遍历打印,不是则继续进行递归 *       */public class Demo25_文件按层级打印 {    public static void main(String[] args) {        //获取一个文件路径        File srcFile = getDir();        //获取该文件夹下的内容        File[] subFiles = srcFile.listFiles();        //将该文件夹下所有的内容进行遍历        for (File subFile : subFiles) {            System.out.println(subFile);            if (subFile.isDirectory()) {                //如果为子文件夹,则进行递归                print(subFile);            }        }        //递归    }    private static void print(File srcFile) {        File[] subFiles = srcFile.listFiles();        for (File subFile : subFiles) {            if (subFile.isFile()) {                System.out.println(subFile);            }else if (subFile.isDirectory()) {      //如果为文件夹,则继续进行判断递归                print(subFile);            }        }    }    //键盘录入的过程    private static File getDir() {        //键盘录入一个文件夹路径        Scanner sc = new Scanner(System.in);        System.out.println("请输入一个文件夹路径:");        String str = sc.nextLine();        File files = new File(str);        while (true) {            if (!files.exists()) {                System.out.println("你输入的文件夹路径不存在!");            }else if (files.isFile()) {                System.out.println("你输入的是文件,请重新输入");            }            return files;        }    }}
0 0
原创粉丝点击