您的位置:首页 > 其它

取得给定目录下的所有文件夹和文件,并象Windows资源管理器一样排列

2011-12-14 02:09 183 查看
1 /**
2 * @author 最近想跳河
3 *
4 */
5 public class FileList {
6
7 // 文件夹或文件的深度
8 private int levels;
9
10 // 取得文件夹或文件的图标
11 private String getCoin() {
12 String coin = "";// "" or null ?
13 for (int i = 0; i < levels; i++)
14 coin += " ";
15 return coin;
16 }
17
18 // 取得给定目录下的所有文件夹和文件,并象Windows资源管理器一样排列
19 public void getAll(String path) {
20 File folder = new File(path);// 取得文File类型的“目录”
21 if (folder.exists() && folder.isDirectory()) {// “目录”必须存在,并且是文件夹
22 System.out.print(this.getCoin() + "+" + folder.getName() + "\n");// 输出“目录”名称
23 this.levels++;// 在这之下的是下一级的文件夹或文件
24 File[] lists = folder.listFiles();// 取得此文件夹下的所有文件及文件夹
25 if (lists != null) {
26 for (File f : lists) {// 遍历文件夹
27 if (f.isFile())// 判断是否为“文件”
28 System.out.print(this.getCoin() + "-" + f.getName() + "\n");
29 }
30 for (int i = 0; i < lists.length; i++) {// 遍历文件夹
31 if (lists[i].isDirectory())// 判断是否为“目录”
32 this.getAll(lists[i].getPath());
33 }
34 }
35 this.levels--;// 退回到上一级目录
36 }
37 }
38 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐