package FileDemo;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
public class SearchSuffixIndir {
/**
*
* 将给定目录下的及子目录下的 所有的给定后缀名的文件路径打印到一个文件中。
*
* 深度遍历该父目录,将符合条件的文件路径存到集合中。(进行过滤)。
*
* 再将集合写到文件中。
*
*
*/
public static void main
(String[] args
) {
//内部类
@Override
return name.endsWith(".java");
}
};
ArrayList<File> path = new ArrayList<File>();
writeToArr(dir,searchSuffix,path);
writeTofile(path,file);
}
private static void writeTofile
(ArrayList
<File
> al,
File file
) {
try {
// bw.write(String.valueOf(f.length()));
bw.write(f.getAbsolutePath());
bw.newLine();
bw.flush();
}
}finally{
if(bw != null)
try {
bw.close();
}
}
}
public static void writeToArr
(File dir,
FilenameFilter searchSuffix, ArrayList
<File
> al
) {
File []files
= dir.
listFiles();
if(f.isDirectory()){
//递归了。
writeToArr(f, searchSuffix, al);
}else{
if(searchSuffix.accept(dir, f.getName())){
al.add(f);
}
}
}
}
}
//java/5970