//主要方法:递归。 缺陷 :该文件路径不能过深,该路径其他文件不能过多,否则会出现栈溢出。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class Work22 {
/**
* @author 铭
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
File dir = new File("D:\\Eclipse\\Java2017");
mygetFile(dir);
}
/**
* @param dir
* @throws IOException
*/
private static void mygetFile(File dir) throws IOException {
FileWriter fr=new FileWriter("D:\\Eclipse\\Java.txt",true);// 如果没有这个true,每次都会将上一次数据覆 //盖,只保留最后一次数据。
BufferedWriter bw = new BufferedWriter(fr);
File[] File = dir.listFiles();
for (File file : File) {
if (file.isDirectory()) {
mygetFile(file);
}else {
if (file.getName().endsWith(".java")){
String len = file.toString();
bw.write(len);
bw.newLine();
System.out.println(len);}
}
}
bw.close();
}
}
本文提供了一个使用Java进行文件遍历的示例程序,通过递归方式查找指定目录下的所有.java文件,并将文件路径写入到文本文件中。注意该方法可能会因栈溢出而不适用于深度较大的目录。
822

被折叠的 条评论
为什么被折叠?



