1. 程式人生 > >java找到資料夾下所有的指定格式檔案並輸出到txt

java找到資料夾下所有的指定格式檔案並輸出到txt

import java.io.*;

public class CopyDirsMain {
	/**
	 * 注意,pw初始化不能在遞迴裡面。在遞迴時可能會出錯
	 * 
	 *
	 */
	public static void main(String[] args) {
		String source = "e:\\test2";
		PrintWriter pw = null;
		try {
			pw = new PrintWriter(new BufferedWriter(new FileWriter(
					"e:\\cpp.txt")), true);
			traversDir(new File(source), ".txt", pw);
		} catch (IOException e) {
			// TODO 自動生成的 catch 塊
			e.printStackTrace();
		} finally {
			if (pw != null) {
				pw.close();
			}
		}

	}

	
	/**尋找資料夾下的指定格式檔案
	 * 列印到指定列印流
	 * @param file
	 * @param str
	 * @param pw
	 */
	private static void traversDir(File file, String str, PrintWriter pw) {
		File files[] = file.listFiles();
		String name;
		for (File f : files) {
			if (f.isFile()) {
				name = f.getName();
				if (name.endsWith(str)) {
					pw.println(f.getAbsolutePath());
					//System.out.println("1個");
				}
			} else if (f.isDirectory()) {
				traversDir(new File(file, f.getName()), str, pw);
			}
		}
	}
}

執行後cpp.txt的內容

e:\test2\新建資料夾\1.txt
e:\test2\新建資料夾\fdfdfdfer\343.txt
e:\test2\新建資料夾\fdfdfdfer\fdsfsd.txt
e:\test2\新建資料夾\新建文字文件.txt
e:\test2\新建文字文件.txt