黑马程序员技术交流社区

标题: 递归遍历,只遍历到D盘下一个文件夹的内容,求解! [打印本页]

作者: Adualtbird    时间: 2015-9-9 21:20
标题: 递归遍历,只遍历到D盘下一个文件夹的内容,求解!
import java.io.*;
import java.util.*;
class FileDemo
{
        public static void main(String[] args)
        {
                File dir=new File("D:");
                List<File> list=new ArrayList<File>();
                fileToList(dir,list);
                File file=new File(dir,"java文件列表.txt");
                writeToFile(list,file.toString());
        }
        public static void writeToFile(List<File> list,String javaListFile){//创建文件写入输出流,将集合内文件的据对路径储到指定文件
                BufferedWriter bw=null;
                try{
                        bw=new BufferedWriter(new FileWriter(javaListFile));
                        for(File file:list){
                                String path=file.getAbsolutePath();//将file的绝对路径赋值给String变量path
                                bw.write(path);//将path写入到Java列表文件中
                                bw.newLine();
                                bw.flush();
                        }
                }
                catch(IOException e){
                                throw new RuntimeException("写入文件失败");
                }
                finally{
                                try{
                                        if(bw!=null)
                                                bw.close();
                                }
                                catch(IOException ex){
                                        throw new RuntimeException("流文件不存在");
                                }
                }
        }

        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);
                        }
                }
        }
}




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