A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗广伟 中级黑马   /  2013-7-9 16:42  /  1047 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 罗广伟 于 2013-7-9 22:49 编辑
  1. <div class="blockcode"><blockquote>import java.io.*;
  2. import java.util.*;
  3. public class JavaFileList
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 File dir=new File("g:\\android");
  8.                 List<File> list=new ArrayList<File>();
  9.                 fileToList(dir,list);
  10.                 File file=new File("g:\\android\\javalist.txt");
  11.                 writerToFile(list,file.toString());
  12.         }
  13.         public static void fileToList(File dir,List<File> list)
  14.         {
  15.                 File[] file=dir.listFiles();
  16.                 for(File f:file)
  17.                 {
  18.                         if(f.isDirectory())
  19.                                 fileToList(f,list);
  20.                         else
  21.                         {
  22.                                 if(f.getName().endsWith(".avi"))
  23.                                         list.add(f);
  24.                         }
  25.                                 
  26.                 }
  27.         }
  28.         public static void writerToFile(List<File> list,String javaListFile)//×××××××××××
  29.         {
  30.                 BufferedWriter bufw=null;
  31.                 try
  32.                 {
  33.                         bufw=new BufferedWriter(new FileWriter(javaListFile));
  34.                         for(File f:list)
  35.                         {
  36.                                 String path=f.getAbsolutePath();
  37.                                 bufw.write(path);
  38.                                 bufw.newLine();
  39.                                 bufw.flush();
  40.                         }
  41.                 }
  42.                 catch (IOException e)
  43.                 {
  44.                         e.printStackTrace();
  45.                 }
  46.                 finally
  47.                 {
  48.                         try
  49.                         {
  50.                                 if(bufw!=null)
  51.                                         bufw.close();
  52.                         }
  53.                         catch (IOException e)
  54.                         {
  55.                                 e.printStackTrace();
  56.                         }
  57.                 }
  58.         }
  59. }
复制代码
问题位置20天-10在×××出为什么构造函数要传递String javaListFile而不是传递一个File对象,这样做有什么好处吗?

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

5 个回复

倒序浏览
你把主函数想成客户端。这样客户端就不要new File对象了只要往里面传值就行了。传的值是string类型。可以存在一个配置文件中,从文件中读取。你在使用软件的时候没法去new对象吧,但是可以在配置文件里写东西。
回复 使用道具 举报 1 0
可以传File类型的呀,直接扔进去就行,应该没什么区别的
回复 使用道具 举报
毕老师当时这样写是因为还没有说 FileWriter 的构造函数接受 File 类型的情况,为了和以前说 FileWriter 构造函数一样,就用的 FileWriter 的 String 类型参数的构造函数。自己理解了就行,其实关系不大。
回复 使用道具 举报
草貌路飞 发表于 2013-7-9 18:10
可以传File类型的呀,直接扔进去就行,应该没什么区别的

你小子分涨得很快嘛
回复 使用道具 举报
toShareBeauty 发表于 2013-7-9 18:58
你小子分涨得很快嘛

不是吧,一般般吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马