1. 程式人生 > >JAVA 一個簡單的檔案寫入程式碼(遍歷資料夾獲取所有檔案、寫入緩衝池、獲取檔案絕對路徑、按字尾名過濾檔案)

JAVA 一個簡單的檔案寫入程式碼(遍歷資料夾獲取所有檔案、寫入緩衝池、獲取檔案絕對路徑、按字尾名過濾檔案)

JAVA  一個簡單的檔案寫入程式碼(遍歷資料夾獲取所有檔案、寫入緩衝池、獲取檔案絕對路徑、按字尾名過濾檔案)

package com.test;

/*
 * vika 11-14
 * 將固定資料夾中的固定格式的檔案的絕對路徑寫入一個txt檔案中
 */

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;


public class Test5 {
public static void main(String[] args)throws IOException {
File file =new File("d:\\備份\\"); //根據路徑建立一個檔案物件
getFileIsJava(file,"d:\\備份\\test.txt");  
}


public static void getFileIsJava(File file, String pathName)throws IOException {
File[] files=file.listFiles();   //列出這個檔案對應路徑下的所有檔案和路徑
for(int i=0;i<files.length;i++){ //遍歷改陣列的所有元素
String name=files[i].getName(); //name接收元素的名字
if(files[i].isDirectory()){   //判斷是資料夾還是檔案(是否有後綴),是資料夾:
getFileIsJava(files[i], pathName); //從新呼叫方法,迭代,直到得到檔案
}
else if(name.endsWith(".xml")){  //從找出的檔案中篩選檔案結尾為.xml的
String path=files[i].getAbsolutePath(); //獲取該檔案的絕對路徑
BufferedWriter bw=new BufferedWriter(new FileWriter(pathName+"",true));//new個寫入緩衝流
bw.write(path);  //將檔案絕對路徑寫入流中
bw.newLine();  //換行
bw.flush();    //清空流
System.out.println(path); //在控制檯輸出絕對路徑
}

}

        bw.close();  //關閉寫入緩衝流

}
}