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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 209920266 中级黑马   /  2015-1-12 21:09  /  858 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.IO;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/*本实例获得f:\\day1里面的所有.class文件,把他们的路径保存到f:\\day1\\Test.txt
* 文件夹下面.并将文件路径改为f:\\filetest\\class.txt
* 思路:
* 1、对指定的目录进行递归
* 2、获取递归过程中的java文件路径
* 3、将这些路径存储到集合中
* 4、将集合中的数据写入到一个文件中
* 5、更改路径。
*
*
*
*
* */
public class GetfileTest {

        public static void main(String[] args) {
                File dir = new File("f:\\day1");
                List<File> list = new ArrayList<File>();
                fileToList(dir, list);
                File outfile = new File(dir, "Test.txt");
                writeToOutfile(list, outfile);
                File f2 = new File("f:\\filetest\\java.txt");
                boolean b=outfile.renameTo(f2);
                System.out.println(b);

        }

        private static void writeToOutfile(List<File> list, File outfile) {
                if (!outfile.getParentFile().exists()) {
                        outfile.mkdir();
                }
                BufferedWriter bw = null;
                try {
                        bw = new BufferedWriter(new FileWriter(outfile));
                        for (File file : list) {
                                bw.write(file.getAbsolutePath());
                                bw.newLine();
                                bw.flush();
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                } finally {
                        if (bw != null) {
                                try {
                                        bw.close();

                                } catch (Exception e2) {
                                        System.out.println("关闭程序失败");
                                }
                        }
                }
        }

        private 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(".class")) {
                                        list.add(file);
                                }
                        }
                }
        }

}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马