File目录直接显示和用方法getName()来显示有什么区别???- import java.io.*;
- class ListDemo
- {
- public static void main(String[] args)
- {
- File dir = new File("d:\\share");
- //传递参数从0级目录开始
- listDir(dir,0);
- }
- //列出所有目录带层级的
- public static String getLevel(int level)
- {
- StringBuilder sb = new StringBuilder();
- for (int x=0;x<level ;x++ )
- {
- sb.append("|--");
- }
- return sb.toString();
- }
- //列出所有目录,将目录和每次递增的数level传递给函数。使期有层级的区别
- public static void listDir(File dir,int level)
- {
- //????这段代码如果直接用dir一样可以显示目录,为什么要用dir.getName()来获取名称显示呢??有什么区别吗?
- System.out.println(getLevel(level)+dir.getName());
- //每递归一次就会累加一个"|--"
- level++;
-
- File[] files=dir.listFiles();
- for (int x=0;x<files.length;x++)
- {
- if (files[x].isDirectory())
- {
- listDir(files[x],level);
- }
- else
- System.out.println(getLevel(level)+files[x]);
- }
- }
- }
复制代码 |