题目:输入一个文件夹名称,然后使用递归调用方式,打印出这个文件夹的层级目录树。
/**
* 输入一个文件夹名称,然后使用递归调用方式,打印出这个文件夹的层级目录树。
*/
package com.ljx.ioexample;
import java.io.File;
import java.util.Scanner;
/**
* @author 2296669592
*
*/
public class PrintRoot {
/**
* @param args
*/
public static void main(String[] args) {
/** 文件路径 */
String address="";
/** 键盘输入定义 */
Scanner scanner =new Scanner(System.in);
System.out.print("输入地址:");
address=scanner.next();
/** 文件 */
File file=new File(address);
if(file.exists()) {
printRoot(file,0);
}else {
System.out.println("这个文件路径不存在!");
}
}
/**
* 按层次输出文件路径
* @param file 文件夹
* @param n 文件层次
*/
public static void printRoot(File file,int n) {
//通过file.listFiles()获取文件夹路径包含的所有文件或文件夹路径
for (File f : file.listFiles()) {
for(int i=0;i<n;i++) {
System.out.print("\t");
}
//判断是否为文件夹
if(f.isDirectory()) {
System.out.println("文件夹:"+f+" ==>>");
printRoot(f,n+1);
}
//判断是否为文件
if(f.isFile()) {
System.out.println("文 件:"+f);
}
}
}
}
运行结果如下:
如有错误,还请指正!!!