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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我为你着迷 金牌黑马   /  2014-12-3 22:49  /  1100 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 我为你着迷 于 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文件的结尾的呢?很郁闷,不知道
哪里出现了问题。谁能帮小弟解答下啊,黑马币无限奉上啊。谢谢了。

2 个回复

正序浏览
楼上正解
  1. if(file.getName().endsWith(".java")); <--这里加了分号if就没起作用
  2.                               list.add(file);
复制代码

评分

参与人数 1黑马币 +10 收起 理由
我为你着迷 + 10 谢谢你

查看全部评分

回复 使用道具 举报
有class文件说明判断后缀的地方出现问题
if(file.getName().endsWith(".java"));这里多了个分号...
加的时候就加了全部的文件

评分

参与人数 1黑马币 +10 收起 理由
我为你着迷 + 10 谢谢 我太不细心了

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马