黑马程序员技术交流社区
标题:
IO 列出指定路径下的java文件路径
[打印本页]
作者:
fmi110
时间:
2015-8-7 12:02
标题:
IO 列出指定路径下的java文件路径
io
/*
需求:将一个指定目录下的java文件的绝对路径,存储到一个文本文件中
分析: 1、对指定目录进行递归
2、获取递归过程中所有的java文件的绝对路径
3、将路径存入集合中
4、将集合中的元素写入文档
*/
import java.io.*;
import java.util.*;
class JavaFileList
{
public static void main(String[] args) throws IOException
{
File dir = new File("C:\\Users\\hyning\\Desktop\\java基础笔记\\");//指定目录
List<File> list = new ArrayList<File>(); //建集合
fileToList(dir,list);//目录中的java文件存入集合
System.out.println(list.size());
File filename = new File(dir,"javalist.txt");
writeToFile(list,filename);//集合的元素写入文档
}
public static void fileToList(File dir,List<File> list){
//遍历目录
File[] fdir = dir.listFiles();
//
// for(File file:fdir){
// if(file.isDirectory())
// fileToList(file,list);
// else
// if(file.getName().endsWith(".java"))
// list.add(file);
// }
for(int i=0; i<fdir.length; i++){
if(fdir[i].isDirectory())
fileToList(fdir[i],list);
else
{
if(fdir[i].getName().endsWith(".java"))
list.add(fdir[i]);
}
}
}
public static void writeToFile(List<File> list,File file) throws IOException
{ //写集合元素到文档
BufferedWriter bufw = null;
try
{
bufw = new BufferedWriter(new FileWriter(file));
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;
}
}
}
}
复制代码
作者:
风华正茂
时间:
2015-8-7 12:21
楼主很强大,谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2