IO流 文件的切割和合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
        }
    }

}

 

以上是关于IO流 文件的切割和合并的主要内容,如果未能解决你的问题,请参考以下文章

基础知识之----------IO流操作文件

Java中的IO流

Java实现文件分割和文件合并实例

Java实现文件分割和文件合并实例

Java实现文件分割和文件合并实例

java 文件切割,为什么在关闭流的时候报错,51行