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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 来自沙沙的我 于 2014-6-7 13:19 编辑
  1.                 //创建一个java文件列表目录,存储到一个文本文档中。
  2. import java.io.*;
  3. import java.util.*;
  4. public class IOb_4 {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 File a=new File("d:/初级");
  8.                 File b=new File("d:/卧槽.txt");
  9.                 List<String> ss=new ArrayList<String>();
  10.                 System.out.println(ss.size());
  11.                 file1(a,ss);
  12.                 file1a(b,ss);
  13.                 System.out.println(ss.size());
  14.                
  15.         }
  16.         public static void file1(File dir,List<String> list)//创建获取目录对象和存储工具List
  17.         {
  18.                 File[] a=dir.listFiles();
  19.                 for(File s:a)
  20.                 {
  21.                         if(s.isDirectory())
  22.                         {
  23.                                 file1(s,list);
  24.                         }
  25.                         
  26.                         if(s.getName().endsWith(".java"));//所有的问题在这里。为什么不能进行过滤?
  27.                         {
  28.                                 list.add(s.getAbsolutePath());
  29.                         }
  30.                 }
  31.         }

  32.         public static void file1a(File dir,List<String> list) throws IOException//提取集合。写入制定文档中
  33.         {
  34.                 BufferedWriter qq=new BufferedWriter(new FileWriter(dir));
  35.                 for(String a:list)
  36.                 {
  37.                         qq.write(a);
  38.                         qq.newLine();
  39.                         qq.flush();
  40.                 }
  41.                 qq.close();
  42.         }
  43. }
复制代码


除了无法过滤其它的没有问题、

5 个回复

倒序浏览
楼主txt文件名真给力!
回复 使用道具 举报
很简单,你看看你的代码,这个是if语句吗?为什么if后面要加分号
  1. if(s.getName().endsWith(".java"));//所有的问题在这里。为什么不能进行过滤?
  2.                         {
  3.                                 list.add(s.getAbsolutePath());
  4.                         }
复制代码
回复 使用道具 举报 1 0
月光海 发表于 2014-6-7 01:13
很简单,你看看你的代码,这个是if语句吗?为什么if后面要加分号

我晕,原来如此,一个小小的细节让我想了1个小时。

哎,还是黑马的人好啊,瞬间解决问题,谢谢了。
回复 使用道具 举报
尹稳定 发表于 2014-6-7 01:02
楼主txt文件名真给力!

这个。。。呵呵,随手打的啦
回复 使用道具 举报
过滤不是要实现filenameFile接口吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马