java找到資料夾下所有的指定格式檔案並輸出到txt
阿新 • • 發佈:2019-02-16
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