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;
}
}
}
文件按层级打印
最新推荐文章于 2024-12-19 13:01:20 发布