Java文件清单列表

 1 package FileDemo;
 2 
 3 import java.io.BufferedWriter;
 4 import java.io.File;
 5 import java.io.FileWriter;
 6 import java.io.FilenameFilter;
 7 import java.io.IOException;
 8 import java.util.ArrayList;
 9 import java.util.List;
10 
11 public class FilePropertyTest {
12 
13     /**
14      * @param args
15      * @throws IOException
16      */
17     public static void main(String[] args) throws IOException {
18 
19         File dir = new File("D:\Java");
20         FilenameFilter filter = new FilenameFilter() {
21 
22             @Override
23             public boolean accept(File dir, String name) {
24 
25                 return name.endsWith(".txt");
26             }
27         };
28         List<File> list = new ArrayList<File>();
29         getFiles(dir, filter, list);
30         File destFile = new File("D:\destfile.txt");
31         write2File(list, destFile);
32     }
33 
34     public static void getFiles(File dir, FilenameFilter fileter,
35             List<File> list) {
36         File files[] = dir.listFiles();
37         for (File file : files) {
38             if (file.isDirectory()) {
39                 getFiles(file, fileter, list);
40             } else {
41                 if (fileter.accept(dir, file.getName())) {
42                     list.add(file);
43                 }
44             }
45         }
46     }
47 
48     public static void write2File(List<File> list, File destFile) throws IOException {
49         BufferedWriter bufw = null;
50         try {
51             bufw = new BufferedWriter(new FileWriter(destFile));
52             for (File file : list) {
53                 bufw.write(file.getAbsolutePath());
54                 bufw.newLine();
55                 bufw.flush();
56             }
57         } catch (Exception e) {
58             throw new RuntimeException("出现异常,写入失败");
59         } finally {
60             if(bufw!=null){
61                 try {
62                     bufw.close();
63                     
64                 } catch (Exception e2) {
65 
66                     throw new RuntimeException("关闭失败");
67                 }
68             }
69         }
70     }
71 
72 }
原文地址:https://www.cnblogs.com/ysw-go/p/5303456.html