黑马程序员技术交流社区
标题:
创建java文件列表例子中的问题
[打印本页]
作者:
罗广伟
时间:
2013-7-9 16:42
标题:
创建java文件列表例子中的问题
本帖最后由 罗广伟 于 2013-7-9 22:49 编辑
<div class="blockcode"><blockquote>import java.io.*;
import java.util.*;
public class JavaFileList
{
public static void main(String[] args)
{
File dir=new File("g:\\android");
List<File> list=new ArrayList<File>();
fileToList(dir,list);
File file=new File("g:\\android\\javalist.txt");
writerToFile(list,file.toString());
}
public static void fileToList(File dir,List<File> list)
{
File[] file=dir.listFiles();
for(File f:file)
{
if(f.isDirectory())
fileToList(f,list);
else
{
if(f.getName().endsWith(".avi"))
list.add(f);
}
}
}
public static void writerToFile(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.newLine();
bufw.flush();
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(bufw!=null)
bufw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
复制代码
问题位置20天-10在×××出为什么构造函数要传递String javaListFile而不是传递一个File对象,这样做有什么好处吗?
作者:
王靖远
时间:
2013-7-9 17:12
你把主函数想成客户端。这样客户端就不要new File对象了只要往里面传值就行了。传的值是string类型。可以存在一个配置文件中,从文件中读取。你在使用软件的时候没法去new对象吧,但是可以在配置文件里写东西。
作者:
草貌路飞
时间:
2013-7-9 18:10
可以传File类型的呀,直接扔进去就行,应该没什么区别的
作者:
toShareBeauty
时间:
2013-7-9 18:57
毕老师当时这样写是因为还没有说 FileWriter 的构造函数接受 File 类型的情况,为了和以前说 FileWriter 构造函数一样,就用的 FileWriter 的 String 类型参数的构造函数。自己理解了就行,其实关系不大。
作者:
toShareBeauty
时间:
2013-7-9 18:58
草貌路飞 发表于 2013-7-9 18:10
可以传File类型的呀,直接扔进去就行,应该没什么区别的
你小子分涨得很快嘛
作者:
草貌路飞
时间:
2013-7-9 20:19
toShareBeauty 发表于 2013-7-9 18:58
你小子分涨得很快嘛
不是吧,一般般吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2