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 Demo3 {
public static void main(String[] args) {
File dir=new File("f:\\aa");
//dir 深度遍历的目录
//filter 过滤器
//list 容器
FilenameFilter filter=new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return name.endsWith(".java");
}};
List<File> list=new ArrayList();
getFiles(dir,filter,list);
File destFile=new File(dir,"javalist.txt");
write2File(list,destFile);
}
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());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//释放资源
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
private static void getFiles(File dir, FilenameFilter filter, List<File> list) {
File[] files=dir.listFiles();
for(File file:files){
if(file.isDirectory()){
getFiles(file,filter,list);
}else{
//过滤,将符合条件的file对象存储
if(filter.accept(dir, file.getName())){
list.add(file);
}
}
}
}
}
Java 寻找一个目下的所有“.Java”文件,并将他们的绝对路径存到一个文本文件中
最新推荐文章于 2021-04-05 21:05:25 发布