4.从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.println("请输入你要遍历的文件夹");
String scfile = sc.next();
File file = new File(scfile);
bianli(file,0);
}
private static void bianli(File file,int level) {
if (file.isDirectory())
{
File[] files = file.listFiles();
for (File f:files
){
for (int i = 0; i <=level ; i++) {
System.out.print("\t");
}
System.out.println(f.getName());
if (f.isDirectory()){
bianli(f,++level);
level--;//保证同一目录下的文件夹和文件在一水平线上
}
}
}
}
关键是在level–上面,每次加了之后,应该考虑同一级下除了文件夹之外还有其他小文件,这些小文件就不应该用加之后的level输出!