import java.io.BufferedWriter;
import java.io.File;
import java.util.List;
/*需求:将指定目录下java文件的绝对路径,存到一个文本文件中。
思路:1、对指定目录进行递归
2、获取递归过程中,java文件的路径
3、将这些路径存储到集合中
4、将集合数据写入一个文件
*/
public class javaFileList
{
public static void main(String[] args) throws IOException
{
File dir = new File("d:\\java1223");
List<File> list = new ArrayList<File>();
fileToList(dir,list);
File file = new File(dir,"javaList.txt");
writeToFile(list,file.toString());
}
public static void flieToList(File dir,List<File> list)
{
File[] files = dir.listFiles();
for(File file:files)
{
if(file.isDirectory())
fileToList(dir,list);
else
{
if(file.getName().endsWith(".java"))
list.add(file);
}
}
}
public static void writeToFile(List<File> list,String javaListFile)
{
BufferedWriter bufw= null;
try
{
bufw = new BufferedWriter(new FileWriter(javaListFile));
for(File f:list)
{
String path =f.getAbsolutePath();
bufw.write(path);
bufw.flush();
}
}
catch(IOException e)
{
throw e;
}
finally
{
try
{
if(bufw!=null)
bufw.close();
}
catch(IOException e)
{
throw e;
}
}
}
}
|
|