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();
        }
    
    }
  • 相关阅读:
    iOS多线程_06_GCD其它用法
    iOS多线程_05_线程间通信NSThread/GCD
    iOS多线程_04_GCD
    iOS多线程_03_Block
    iOS多线程_02_多线程的安全问题
    iOS多线程_01_简介和NSThread
    shell 根据端口号输出所有的pid
    【java核心36讲】接口和抽象类的区别
    CSS布局
    CSS基础
  • 原文地址:https://www.cnblogs.com/redlight/p/3162570.html
Copyright © 2011-2022 走看看