IO流 文件的切割和合并

package com.yyq;
import java.io.*;
import java.util.*;
/*
 * 切割流
 * 
 */
public class SplitFile {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        splitFile();
        merge();
    }
    public static void merge() throws IOException{
        ArrayList<FileInputStream>al = new ArrayList<FileInputStream>();
        for(int x = 1;x<=3;x++){
            al.add(new FileInputStream(x+".MYpart"));
        }
        Iterator<FileInputStream> it = al.iterator();
        final Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){
            public boolean hasMoreElements(){
                return it.hasNext();
            }
            public FileInputStream nextElement(){
                return it.next();
            }
        };
        // 获取一个圆
        SequenceInputStream sis = new SequenceInputStream(en);
        FileOutputStream fos = new FileOutputStream("0.jpg");
        byte[] buf = new byte[1024];
        int len = 0;
        while((len = sis.read(buf))!=-1){
            fos.write(buf,0,len);
        }
        fos.close();
        sis.close();
    }
    public static void splitFile() throws IOException{
        FileInputStream fis = new FileInputStream("1.jpg");
        FileOutputStream fos =null;
        byte[] buf = new byte[1024*1024];
        int len = 0;
        int count = 1;
        while((len = fis.read(buf))!=-1){
            fos = new FileOutputStream(""+count+++".MYpart");
            //File file = new file(""+count+++".part");
            fos.write(buf,0,len);
            fos.close();
            File file = new File(""+count+".part");
            file.delete();
            
        }
        if(fos!=null){
            fos.close();
        }
    }

}

 

posted @ 2016-01-24 14:40  HuberyQian  阅读(450)  评论(0编辑  收藏  举报