自己写的一个将指定目录下的文本文件集合成单独的一个大文本文件工具

来源:互联网 发布:矩阵切换系统 编辑:程序博客网 时间:2024/05/22 14:00

今天在看《Head First 设计模式》这本书,书是好书,但是源码写的太碎了,并且每个源码文件都只有几行,看起来很不方便。于是便想将每章的所有源码收集成单独的一个大文本文件中,方便阅读。

下面是我用Java写的一个小程序,用python的话应该更简单,但是懒得折腾了。

import java.io.*;public class TextFileCollector{public static void main(String[] args) {//要收集的文件夹路径String srcFolder = "D:/JavaApp/headfirst设计模式源代码/observer/WeatherStation";//要收集的文件后缀String suf = ".java";//目标文件所在的文件夹String dstFolder = "D:/JavaApp/acm/";//目标文件名称String dstFile = "2.java";//得到目标文件所在的文件夹的文件列表String[] fileList = new File(srcFolder).list(new MyFilenameFilter(suf));TextFileCollector tc = new TextFileCollector();for(String name : fileList){tc.changeTxtFile(srcFolder, name, dstFolder, dstFile);}}/* * 将源文本文件的内容拷贝到指定的目标文件。 * srcFolder:源文件所在的文件夹路径 * srcFile:源文件名称 * dstFolder:目标文件所在的文件夹路径 * dstFile:目标文件名称 * */public void changeTxtFile(String srcFolder, String srcFile, String dstFolder, String dstFile){FileReader fr = null;FileWriter fw = null;//boolean append = true;try{fr = new FileReader(new File(srcFolder+"/"+srcFile));fw = new FileWriter(new File(dstFolder+"/"+dstFile), true);BufferedReader br = new BufferedReader(fr);String row;fw.append("//"+srcFile+"\n");while((row=br.readLine()) != null){fw.append(row+"\n");}fw.write("\n\n");fr.close();fw.close();}catch(FileNotFoundException e) {  e.printStackTrace();  } catch (IOException e){  e.printStackTrace();  }}}class MyFilenameFilter implements FilenameFilter{private String suffix;public MyFilenameFilter(String suffix){this.suffix = suffix;}@Overridepublic boolean accept(File dir, String name) {// TODO Auto-generated method stubboolean flag = name.endsWith(suffix);return flag;}}


0 0
原创粉丝点击