JAVA 一個簡單的檔案寫入程式碼(遍歷資料夾獲取所有檔案、寫入緩衝池、獲取檔案絕對路徑、按字尾名過濾檔案)
阿新 • • 發佈:2019-01-28
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(); //關閉寫入緩衝流
}