package cn.io;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;public class Demo1 { /**
 * @param args
 */
public static void main(String[] args) {
File dir =new File("D:\\anroid");

FilenameFilter filter =new FilenameFilter(){ @Override
public boolean accept(File dir, String name) {
return name.endsWith(".avi");
}};
List<File> list =new ArrayList<File>();
getFiles(dir,filter,list);

File destfile =new File("D:\\WWWW.TXT");
write2File(list,destfile);

} private static void getFiles(File dir,FilenameFilter filter,List<File> list) {

File[] files=dir.listFiles();

for (File file : files) {//控制台说此处nullpointer  exception.请教是什么原因啊????????
if(file.isDirectory()){
getFiles(file,filter,list);
}
else{
if(filter.accept(dir, file.getName())){
list.add(file);
}
}

}

}
private static void write2File(List<File>list,File destFile){
BufferedWriter bw=null;
try {
bw = new BufferedWriter(new FileWriter(destFile));
for (File file : list) {
bw.write(file.getAbsolutePath());
}

} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally{
try {
if(bw!=null)
bw.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
throw new RuntimeException("chucuole ");
}
}
}}