黑马程序员技术交流社区

标题: 为何把E:\\myjob目录下得所有文件都输出了 [打印本页]

作者: 黑马张伟    时间: 2011-12-23 15:07
标题: 为何把E:\\myjob目录下得所有文件都输出了
本帖最后由 黑马张伟 于 2011-12-24 08:09 编辑

package file;

import java.io.*;
import java.util.*;

public class JavaFileList {

        public static void main(String[] args) throws IOException{
                File dir = new File("E:\\myjob");
                List<File> list = new ArrayList<File>();
                fileToList(dir,list);
                //System.out.println(list.size());
                //String name="";
                File file=new File(dir,"java.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(".html"));
                                        list.add(file);
                        }
                }
        }
        public static void WriteToFile(List<File> list,String javaListFile) throws IOException
        {
                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 e2) {       
                                throw e2;
                        }
                }
        }

}
作者: 马德强    时间: 2011-12-23 15:48
因为这行后面多个分号“;”   if(file.getName().endsWith(".html"));

作者: 张冬冬    时间: 2011-12-23 18:43
强烈建议楼主写完代码都下意识的格式化一下,ctrl+shift+f,这样像if后多的那个分号,就会单独成一行,一眼就能看到了。
作者: 黑马张伟    时间: 2011-12-24 08:08
张冬冬 发表于 2011-12-23 18:43
强烈建议楼主写完代码都下意识的格式化一下,ctrl+shift+f,这样像if后多的那个分号,就会单独成一行,一眼 ...

好的,明白了




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