多个碎片的合并
SecuenceInputStream【序列流,两个流的合并】 sic=new SecuenceInputStream(fis1,fis2);
【多个流的合并】SecuenceInputStream【枚举器对象】 sic=new SecuenceInputStream(Enumeration<InputStream> en);
1、用向量对象存放集合
Vector <FileInputStream> v=new Vector <FileInputStream>();
For(int i=1;i<=4;i++){
v.add(“new FileInputStream(“res/”+i+”.part”)”);
}
SequenceInputStream sis=new SequenceInputStream(v.elements());
FileOutputStream fos=new FileOutputStream(“1.mp3”);
Byte[] buf=new byte[1024*4];
Int len=0;
While((len=sis.read(buf))!=-1){
Fos.write(bus,0,len);
}
2、因为要提高效率所以用ArrayList
ArrayList<FileInputStream> alist=new ArrayList<FileInputStream>();
For(int i=1;i<=6;i++){
Alist.add(new FileInputStream(i+”.part”));
}
Final Iterator【接口】 <FileInputStream> it【迭代器对象】=new alist.iterator();
Class MyEnum implements Enumeration<FileInputStream>{
public boolean hasMoreElements(){
return it.hasNext();
}
public FileInputStream nextElements(){
return it..next();
}
MyEnum en=new MyEnum;
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream(“1.mp3”);
Byte[] buf=new byte[1024*4];
Int len=0;
While((len=sis.read(buf))!=-1){
Fos.write(bus,0,len);
}
}