zoukankan      html  css  js  c++  java
  • 文本文件合并

        下午用java写了一段把500个9M文本文件合成一个大文件,主要是文件读写方面的工作,合成之后是大概4.5g。

    package mg;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class Merge {
    
        /**
         * @param args
         */
        
        private File[] fileList=null;
        private String path="E:/table";//文件所在的文件夹
        private File[] getFileList(File file){
            return file.listFiles();//返回文件夹中的所有文件的file
        }
        
        private String fileReader2String(File file){
            StringBuffer strBuf=new StringBuffer();
             BufferedReader reader=null;
             try {
                reader=new BufferedReader(new FileReader(file));
                String content=null;
                 while((content=reader.readLine())!=null){
                     if(content.length()!=0)
                         strBuf.append(content+'
    ');//读取每一行然后在后面加换行,如果写成'
    '则是unix系统文件换行,如果写成"
    "则是pc的文件结尾
                 }
                 reader.close();
             }catch(IOException e){
                 e.printStackTrace();
             }
             return strBuf.toString();
        }
        
        public void fileWriter(){
            File file = new File(path);
            if (!file.exists()) {
                System.out.println("file "" + path + "" folder no exist");
            }
            try {
                this.fileList = this.getFileList(file);
                BufferedWriter output = new BufferedWriter(new FileWriter(new File(
                        "E:/merge.csv")));//合并后文件存储的地址
                
                for (File f : fileList) {
                    System.out.println(f.getName());
                    String str = this.fileReader2String(f);
                    output.write(str, 0, str.length());
                }
                output.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }
        
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            new Merge().fileWriter();
        }
    
    }
  • 相关阅读:
    Android自动开关机实现
    List<T>的各种排序方法
    Struts、Ajax、Restful、Web Service 狂想曲框架实现篇(二)
    ArrayList和LinkedList性能比较
    Struts、Ajax、Restful、Web Service 狂想曲框架实现篇(三)
    ACM
    jquery
    安装IIS和部署网站的区别
    用IIS部署网站的问题和解决方案
    bug管理初识记录测试结果(外企)
  • 原文地址:https://www.cnblogs.com/redlight/p/3162570.html
Copyright © 2011-2022 走看看