File类遍历目录

1,将遍历的目录保存至List并输出

View Code
 1 package com.study.FileDemo;
2
3 import java.io.File;
4 import java.io.FileNotFoundException;
5 import java.io.FileOutputStream;
6 import java.io.PrintStream;
7 import java.util.ArrayList;
8 import java.util.List;
9 /**
10 *
11 * 遍历目录输出至文件
12 *
13 */
14 public class ListFileDemo01 {
15
16 public static void main(String[] args) {
17 List<String> lst = ListFileTest(new File("d:" + File.separator));
18 PrintStream ps = null;
19 try {
20 ps = new PrintStream(new FileOutputStream(new File("e:"
21 + File.separator + "fadfafa223.txt")));
22 } catch (FileNotFoundException e) {
23 e.printStackTrace();
24 }
25 for (String s : lst) {
26 ps.println(s);
27 }
28
29 }
30
31 public static List<String> ListFileTest(File file) {
32 File[] f = file.listFiles();
33 List<String> list = new ArrayList<String>();
34 if (f != null) {
35 for (int i = 0; i < f.length; i++) {
36 if (f[i].isDirectory()) {
37 list.addAll(ListFileTest(f[i]));//这句很关键
38 } else {
39 list.add(f[i].getPath());
40 }
41 }
42 }
43 return list;
44
45 }
46 }

2,将遍历的目录树状显示

import java.io.File;

public class ListTest03 {

public static void main(String[] args) {
listFile("d:\\DG343Std_x86", 1);

}

public static void listFile(String dir, int level) {
File f = new File(dir);
for (int i = 0; i <= level; i++) {
System.out.print("| ");
}
System.out.println("|-" + f.getName());
if (f.isDirectory()) {
File fs[] = f.listFiles();
for (File s : fs) {
listFile(s.getPath(), level + 1);
}
}
}

}




原文地址:https://www.cnblogs.com/xiongyu/p/2245728.html