黑马程序员技术交流社区
标题:
自己做的一个练习:存储java文件绝对路径,学习交流
[打印本页]
作者:
梁志仲
时间:
2012-8-3 10:59
标题:
自己做的一个练习:存储java文件绝对路径,学习交流
请批评指正,有更优化代码或思路也请赐教,谢谢!
/*
练习
将一个指定目录下的java文件的绝对路径,存储到一个文本文件中。
建立一个java文件列表文件。
*/
import java.util.*;
import java.io.*;
class Test
{
public static void main(String[] args) throws Exception
{
File f = new File("d:\\java");
File f1 = new File("d:\\java\\list.txt");
f1.createNewFile();
ArrayList<String> list = new ArrayList<String>();
getList(f, list);
writeToFile(list, f1);
}
//把目录下的所有java文件(含子目录)的文件名以字符串形式存到列表中
public static void getList(File f, ArrayList<String> list)
{
File[] files = f.listFiles();
int len = files.length;
for (int i=0; i<len; i++)
{
if(files[i].isDirectory())
{
getList(files[i],list); //对文件夹递归
}
else
{
if(files[i].getName().endsWith(".java"))
list.add(files[i].getAbsolutePath());
}
}
}
//把获取到的列表中的所有字符串写入到指定文件中
public static void writeToFile(ArrayList<String> list, File f1) throws IOException
{
BufferedWriter bw = null;
try
{
bw = new BufferedWriter(new FileWriter(f1));
char[] ch = new char[1024];
for (String str: list)
{
ch = str.toCharArray();
bw.write(ch, 0, ch.length);
bw.newLine();
bw.flush();
}
}
catch (IOException e)
{
throw e;
}
finally
{
try
{
if(bw!=null)
bw.close();
}
catch (IOException e)
{
throw e;
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2