黑马程序员技术交流社区

标题: 关于java文件列表创建的问题 [打印本页]

作者: 我为你着迷    时间: 2014-12-3 22:49
标题: 关于java文件列表创建的问题
本帖最后由 我为你着迷 于 2014-12-3 22:53 编辑
  1. import java.io.*;
  2. import java.util.*;
  3. class JavaFileList
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 File dir=new File("d:\\java0217");
  8.                
  9.                 List<File> list=new ArrayList<File>();
  10.                
  11.                 fileToList(dir,list);
  12.                
  13.                 //System.out.println(list.size());
  14.                
  15.                 File file=new File(dir,"javalist.txt");
  16.                  writeToFile(list,file.toString());
  17.         }
  18.         
  19.         public static void fileToList(File dir,List<File> list)
  20.         {
  21.                 File[] files=dir.listFiles();
  22.                
  23.                 for(File file:files)
  24.                 {
  25.                         if(file.isDirectory())
  26.                                fileToList(file,list);
  27.                         else
  28.                         {
  29.                           if(file.getName().endsWith(".java"));
  30.                               list.add(file);
  31.                          }
  32.                  }
  33.         }
  34.         
  35.         public static void writeToFile(List<File> list,String javaListFile) throws IOException
  36.         {
  37.            BufferedWriter bufw=null;
  38.            try
  39.            {
  40.                            bufw=new BufferedWriter(new FileWriter(javaListFile));
  41.                            
  42.                            for(File f:list)
  43.                            {
  44.                                    String path=f.getAbsolutePath();
  45.                                    bufw.write(path);
  46.                                    bufw.newLine();
  47.                                    bufw.flush();        
  48.                            }
  49.            }
  50.            catch(IOException e)
  51.            {
  52.                            throw e;
  53.            }
  54.            finally
  55.            {
  56.                            try
  57.                            {
  58.                                    if(bufw!=null)
  59.                                            bufw.close();        
  60.                            }        
  61.                            catch(IOException e)
  62.                            {
  63.                                     throw e;
  64.                             }
  65.            }
  66.         }
  67. }
复制代码

大家好 这段代码跟视频是一模一样的 可是运行之后硬盘上的文件中还有.class文件的结尾的呢?很郁闷,不知道
哪里出现了问题。谁能帮小弟解答下啊,黑马币无限奉上啊。谢谢了。
作者: Mr.Ni    时间: 2014-12-4 01:15
有class文件说明判断后缀的地方出现问题
if(file.getName().endsWith(".java"));这里多了个分号...
加的时候就加了全部的文件
作者: 马个了黑_邓    时间: 2014-12-4 11:01
楼上正解
  1. if(file.getName().endsWith(".java")); <--这里加了分号if就没起作用
  2.                               list.add(file);
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2