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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 huyang936 于 2015-3-4 20:07 编辑
  1. <p>package cn.itcast.day22;

  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileWriter;
  5. import java.io.IOException;

  6. /**
  7. * 列出毕向东的视频文件路径
  8. * @author John
  9. *
  10. */
  11. public class ListFile {
  12.         public static void main(String[] args) throws IOException {
  13.                 //源
  14.                 File dir = new File("F:\\黑马训练营\\视频辅导班视频");
  15.                 File destFile = new File("F:\\黑马训练营\\毕向东视频.txt");
  16.                 showDir(dir,destFile);
  17.         }

  18.         private static void showDir(File dir,File destFile) throws IOException {
  19.                 // TODO Auto-generated method stub
  20.                 //目的
  21.                 BufferedWriter bw = new BufferedWriter(new FileWriter(destFile));
  22.                 File[] files = dir.listFiles();
  23.                 bw.write("a");//测试
  24.                 if (files!=null) {bw.write("b");//测试
  25.                         for (File file : files) {bw.write("c");//测试
  26.                                 if (file.isDirectory()) {bw.write("d");//测试
  27.                                         showDir(file,destFile);
  28.                                 }else//file是个文件
  29.                                 {bw.write("e");//为什么bw在这块失效了,写不进内容了
  30.                                         if (file.getName().endsWith(".avi")) {
  31.                                                 System.out.println(file.getName());
  32.                                                 bw.write(file.getAbsolutePath());
  33.                                                 bw.newLine();
  34.                                                 bw.flush();
  35.                                         }
  36.                                 }
  37.                         }
  38.                 }
  39.                 //关闭资源
  40.                 bw.close();
  41.         }
  42. }
  43. </p>
复制代码

第32行:  为什么bw在这块失效了,写不进内容了???


1 个回复

倒序浏览
[color=Blue]已解决:是因为在showDir()方法中,BufferedWriter在递归过程中,重复创建造成的。
解决办法:将
//目的
BufferedWriter bw = new BufferedWriter(new FileWriter(destFile));
写到main()方法中,问题解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马