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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 系磊 初级黑马   /  2012-6-18 22:38  /  2406 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是我按照老师讲课写的一个代码实在是不知道怎么错了,以下是代码跟错误提示
import java.io.*;
import java.util.*;
class JavaFileList
{
        public static void main(String[] args)throws IOException
        {
                File dir = new File("f:\\java");

                List<File> list = new ArrayList<File>();

                fileToList(dir,list);

                //System.out.println(list.size());

                File file = new File(dir,"javalist.txt");

                writeToFile(list,file.toString());
        }
        public static void fileToList(File dir,List<File> list)
        {
                File[] files = dir.listFiles();
                for(File file:files)
                {
                        if(file.isDirectory())
                                fileToList(file,list);
                        else
                        {
                                if(file.getName().endsWith(".java"))
                                        list.add(file);
                        }
                }
        }
        public static void writeToFile(List<File>list)
        {
                BufferedWriter bufw = null;
                try
                {
                        bufw = new BufferedWriter(new FileWriter(javaListFile));
                        for(File f : list)
                        {
                                String path = f.getAbsolutePath();
                                bufw.write(path);
                                bufw.newLine();
                                bufw.flush();
                        }
                }
                catch(IOException e)
                {
                        throw e;
                }
                finally
                {
                        try
                        {
                                if(bufw!=null)
                                bufw.close();
                        }
                        catch (IOException e)
                        {
                                throw e;
                        }
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 鼓励一下,多坚强理解和练习

查看全部评分

9 个回复

倒序浏览
C:\Documents and Settings\Administrator\桌面\新建文件夹
回复 使用道具 举报
图片怎么传不上来呢
回复 使用道具 举报
无法将类 JavaFileLis t中的方法 writerToFile 应用到给定类型;
writeToFile(list,file.toString());
需要:List<File>
找到:List<File>,String
原因:实际参数列表和形式参数列表长度不同
找不到符号:bufw = new BufferedWrite(new FileWriter(javaListFile));
回复 使用道具 举报
我刚运行了一下,程序报错有两个,一个是    writeToFile(list,file.toString());  你的参数列表和你下边写的不一致,第二个是  bufw = new BufferedWriter(new FileWriter(javaListFile));  系统报错,找不到变量名      仔细检查程序,认真看每一行代码,你确定你都搞懂代码的意思了么
回复 使用道具 举报
李文龙 发表于 2012-6-18 22:55
我刚运行了一下,程序报错有两个,一个是    writeToFile(list,file.toString());  你的参数列表和你下边写 ...

我知道是这2个错误啊,帮我改下啊,我实在是找不到,才接触java 菜鸟的很
回复 使用道具 举报
  1. import java.io.*;
  2. import java.util.*;
  3. class Test
  4. {
  5.         public static void main(String[] args)throws IOException
  6.         {
  7.                 File dir = new File("f:\\java");

  8.                List<File> list = new ArrayList<File>();

  9.                fileToList(dir,list);

  10.                //System.out.println(list.size());

  11.                File file = new File(dir,"javalist.txt");

  12.                writeToFile(list);
  13.         }
  14.         public static void fileToList(File dir,List<File> list)
  15.         {
  16.                 File[] files = dir.listFiles();
  17.                 for(File file:files)
  18.                 {
  19.                         if(file.isDirectory())
  20.                                 fileToList(file,list);
  21.                         else
  22.                         {
  23.                                 if(file.getName().endsWith(".java"))
  24.                                         list.add(file);
  25.                         }
  26.                 }
  27.         }
  28.        public static void writeToFile(List<File>list)
  29.        {
  30.                 BufferedWriter bufw = null;
  31.                 try
  32.                 {
  33.                         bufw = new BufferedWriter(new FileWriter("文件路径"));
  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. }
复制代码
回复 使用道具 举报
writeToFile(list,file.toString());  改为writeToFile(list);
bufw = new BufferedWrite(new FileWriter(javaListFile));  改为bufw = new BufferedWrite(new FileWriter("f:\\java"));  
这样就可以了,不过 throw e;报错了,你改为   System.out.println(e);  

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
系磊 初级黑马 2012-6-18 23:19:50
9#
谢了 才学java很多都不懂
回复 使用道具 举报
writeToFile(list,file.toString());
  public static void writeToFile(List<File>list)
前面方法参数个数不同
   bufw = new BufferedWriter(new FileWriter(javaListFile));
javaListFile这个变量都没定义
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马