练习:
将一个指定目录下的Java文件的绝对路径,存储到一个文本文件中,即建立一个Java文件列表文件
思路:
1.对指定的目录进行递归
2.获取递归过程中所有的Java文件的路径
3.将这些路径存储到集合中
4.将集合中的数据写入到一个文件中
数据的持久化存储
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class JavaFileList {
public static void main(String[] args) {
File dir = new File("E:\\lao-bi-java-se");
List<File> list = new ArrayList<>();
fileToList(dir, list);
System.out.println(list.size());
File file = new File(dir, "javaFileList.txt");
writeToFile(list, file.toString());
}
public static void fileToList(File dir, List<File> list) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
fileToList(file, list);
} else {
if (file.getName().endsWith(".java")) {
list.add(file);
}
}
}
}
public static void writeToFile(List<File> list, String javaFileList) {
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(javaFileList));
for (File file : list) {
String path = file.getAbsolutePath();
writer.write(path);
writer.newLine();
}
writer.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
网友评论