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檔案的絕對路徑,存儲到一個文本中
* 建立一個java的檔案清單
*/
public class FileDemo {
public static void main(String[] args) {
File dir=new File("F:\\SVN_D\\DD\\src\\com\\string");
List<File> list=new ArrayList<File>();
fileToList(dir,list);
// System.out.println(list.size());
File file=new File(dir,"javaList.txt");//dir父目錄
writeToFile(list,file.toString());
}
//檔案對象先放入集合
public static void fileToList(File dir,List<File> list){
if(dir!=null){
if(dir.isDirectory()){
File[] files=dir.listFiles();//檔案對象數組
for(File file:files){
fileToList(file, list);
}
}else{
if(dir.getName().endsWith(".java")){
list.add(dir);
}
}
}
}
//寫入文本中
public static void writeToFile(List<File> list,String javaListFile){
BufferedWriter bufw=null;
try {
bufw=new BufferedWriter(new FileWriter(javaListFile));
for(File f:list){
String path=f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}finally{
try{
if(bufw!=null){
bufw.close();
}
}catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
}
}
}