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(); } } }