/*
* 将指定目录下的所有java文件的绝对路径存储到文本文件中
* 建立一个java列表。
* 思路:
* 1.对指定目录进行递归
* 2.获取递归过程所有的java文件的路径
* 3.将这些路径存储在集合中
* 4.将集合中的内容写到文本文件
* 注:3,4步骤也可以合并成一个步骤
*/
package ioTest.io3;
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) throws IOException {
File dir=new File("F:\\javaListTest");
List list=new ArrayList();
fileToList(dir, list);
for(File f:list)
{
System.out.println(f);
}
writeToFile(list);
}
public static void fileToList(File dir,List list)
{
File[] files=dir.listFiles();
for(File f:files)
{
if(f.isDirectory())
{
fileToList(f,list);
}
else {
//文件的时候,只是取出java文件
if(f.toString().endsWith(".java"))
{
list.add(f);
}
}
}
}
public static void writeToFile(List list) throws IOException
{
//目的
File file=new File("F:\\javaListTest", "\\javalist.txt");
FileWriter out=new FileWriter(file);
BufferedWriter bWriter=new BufferedWriter(out);
for(File f:list)
{
bWriter.write(f.toString());
bWriter.newLine();
bWriter.flush();
}
}
}