posts - 3, comments - 15, trackbacks - 0, articles - 26
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java 分割合并文件

          Posted on 2009-03-11 11:04 morcble的blog 閱讀(320) 評論(0)  編輯  收藏 所屬分類: Java
          import java.io.FileInputStream;
          import java.io.FileNotFoundException;
          import java.io.FileOutputStream;
          import java.io.IOException;
          public class FileReadAndWrite{
           public static void main(String[] args) {
            FileReadAndWrite fileReadAndWrite = new FileReadAndWrite();
            //fileReadAndWrite.splitFile("c:/1.doc");
            fileReadAndWrite.mergeFile("c:/1.doc1","c:/1.doc2");
           }
           
           public void splitFile(String filePath){
            try {
             FileInputStream is = new FileInputStream(filePath);
             int file1Size = is.available()/2;
             int buffersize = 512;
             file1Size = (file1Size/buffersize)*buffersize;
             //int file2Size = is.available() - file1Size;
             
             byte buffer[] = new byte[buffersize];
             
             int i = 0;
             FileOutputStream os1 = new FileOutputStream(filePath+"1");//file 1
             FileOutputStream os2 = new FileOutputStream(filePath+"2");//file 2
             while ((is.read(buffer, 0, buffersize) != -1) && (buffersize > 0)) {
                 if((i<file1Size/buffersize)){
                  os1.write(buffer);
                 }
                 else{
                  os2.write(buffer);
                 }
                 i++;
             }
             os1.close();
             os2.close();
             is.close();
             
            } catch (FileNotFoundException e) {
             e.printStackTrace();
            } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
           }
           
           public void mergeFile(String filePath1,String filePath2){
            try {
             FileInputStream is1 = new FileInputStream(filePath1);
             FileInputStream is2 = new FileInputStream(filePath2);
             
             FileOutputStream os1 = new FileOutputStream(filePath1.substring(0,filePath1.length()-1));
             int buffersize = 512;
             byte buffer[] = new byte[buffersize];
             
             while ((is1.read(buffer, 0, buffersize) != -1) && (buffersize > 0)) {
                  os1.write(buffer);   
             }
             while ((is2.read(buffer, 0, buffersize) != -1) && (buffersize > 0)) {
                 os1.write(buffer);   
            }
             is1.close();
             is2.close();
             os1.close();
             
            } catch (FileNotFoundException e) {
             e.printStackTrace();
            } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
           }
          }
          主站蜘蛛池模板: 康马县| 阜平县| 余庆县| 赞皇县| 铁岭市| 邢台县| 新巴尔虎右旗| 宣城市| 吉木萨尔县| 周至县| 邳州市| 青海省| 津南区| 滕州市| 德保县| 米脂县| 扎兰屯市| 阿拉善盟| 永修县| 商河县| 福清市| 故城县| 保亭| 汉源县| 泸定县| 沂南县| 西峡县| 龙游县| 寻甸| 建瓯市| 彰化市| 黎川县| 海盐县| 荃湾区| 江陵县| 贵定县| 昌平区| 武城县| 长武县| 晋州市| 普陀区|