package second;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* 把指定目录下的同一类型的文件的绝对路径放在一个文本文件中
* 建立一个java文件列表文件
* 思路:
* 1.对指定文件进行递归
* 2.过去递归过程中所有的java文件的路径
* 将这些文件存储到一个集合中
* 将集合中的数据写入到文件中
*/
public class DeletedirDemo {
public static void main(String []args){
File dir=new File("E:\\testdir");
List<File>list=new ArrayList<File>();
fileToList(dir,list);
writeToFile(list,"E:\\testdir\\javaFileList.txt");
}
public static void fileToList(File dir,List<File>list){
File[] files=dir.listFiles();
for(File file:files){
if(file.isDirectory())
fileToList(file,list);
else{
if(file.getName().endsWith(".java")){
list.add(file);
}
}
}
}
public static void writeToFile(List<File>list,String javaFileList){
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(javaFileList));
for(File file:list){
String path=file.getAbsolutePath();
bw.write(path);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(bw!=null)
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} |
|