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