任务:实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。
要求:
1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。
2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,补充完善右侧代码区中的showDirStructure(File dir)函数实现要求的功能,其中函数参数含义如下:
.dir:指定要显示的文件夹
样例1
输入:src/step3/root
输出:
样例2
输入:src/step3/dir
输出:`package step3;
import java.util.*;
import java.io.File;
import java.util.Arrays;
public class Task {
public static int count=0;
int count1=1;
public void showDirStructure(File dir) {
File[] fs=dir.listFiles();
Arrays.sort(fs);
if(count1==1)
System.out.println("+--"+dir.getName());
int i=1;
for(File f:fs){
function(i,f);
}
}
public void function(int i,File f){
if(f.isDirectory()){
File[] fs=f.listFiles();
Arrays.sort(fs);
for(int j=0;j<i*2;j++){
System.out.print(" ");
}
System.out.println("+--"+f.getName()); //打印目录名
i++;
for(int w=0;w<fs.length;w++)
function(i,fs[w]);
}
else {
for(int k=0;k<i*2;k++){
System.out.print(" ");
}
System.out.println("--"+f.getName()); //打印文件名
}
}
}
`