要求:将一个指定目录下的txt文件的绝对路径存储到一个文本文件中,建立一个txt文件列表文件
/ * 思路:
* 1.对指定目录进行递归
* 2.获取递归过程中所有的java文件的路径
* 3.将这些路径存储到集合中
* 4.将集合中的数据写入一个文件中
*/
public class JavaFileList {
public static void main(String[] args)throws IOException {
File dir = new File("C:\\Users\\lai");
List<File> list = new ArrayList<File>();
fileToList(dir,list);
File file = new File(dir,"a.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(".txt")) {
list.add(file);
}
}
}
}
public static void writeToFile(List<File> list,String txtListFile) throws IOException{
BufferedWriter bufw = null;
try {
bufw = new BufferedWriter(new FileWriter(txtListFile));
for(File f : list) {
String path = f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
} catch (IOException e) {
throw e;
}finally {
try {
if(bufw!=null) {
bufw.close();
}
}catch (IOException e) {
throw e;
}
}
}
}