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 args15 * @throws IOException16 */17 public static void main(String[] args) throws IOException {18 19 File dir = new File("D:\\Java");20 FilenameFilter filter = new FilenameFilter() {21 22 @Override23 public boolean accept(File dir, String name) {24 25 return name.endsWith(".txt");26 }27 };28 Listlist = new ArrayList ();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 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 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 }