天天看點

将一個指定目錄下的java檔案的絕對路徑,存儲到一個文本中

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());

}

}

   }

  }