Java中的使用枚举来合并序列流
/**
* 合并分割的文件
* 即:使用序列流来合并分割的文件
* 注意:合并文件时,必须按之前的分割的文件顺序去合并,不然会出现错误
* @throws IOException
*/
public static void merge()throws IOException{
File file1=new File("F:\\pic\\1.part");
File file2=new File("F:\\pic\\2.part");
///通常不适用Vector效率比较慢
/* Vector<FileInputStream> v=new Vector<FileInputStream>();
v.add(new FileInputStream(file1));
v.add(new FileInputStream(file2));*/
// Enumeration<FileInputStream> enu=Collections.enumeration(v);
// Enumeration<FileInputStream> enu=v.elements();
///////////////////////////////这种方法:匿名内部类 可以试试//////////////////////////
List<FileInputStream> list=new ArrayList<FileInputStream>();
list.add(new FileInputStream(file1));
list.add(new FileInputStream(file2));
final Iterator<FileInputStream> item=list.iterator();//必须加上常量
Enumeration<FileInputStream> en=new Enumeration<FileInputStream>() {
public FileInputStream nextElement() {
return item.next();
}
public boolean hasMoreElements() {
return item.hasNext();
}
};
SequenceInputStream sis=new SequenceInputStream(en);
// SequenceInputStream sis=new SequenceInputStream(enu);
FileOutputStream fos=new FileOutputStream("F:\\pic\\merge.jpg");
int len=0;
byte[]data=new byte[1024];
while(-1!=(len=sis.read(data))){
fos.write(data, 0, len);
fos.flush();
}
fos.close();
sis.close();
}
推荐阅读
-
详解java中的深拷贝和浅拷贝(clone()方法的重写、使用序列化实现真正的深拷贝)
-
使用=号引用的方法来将Excel中多列内容合并成一列
-
[转载] Java中枚举类型的使用 - enum
-
使用java2word包中的Document类来创建新文档
-
使用java2word包中的Document类来创建新文档
-
java中枚举api的使用(学习笔记)
-
Java8中的流操作-基本使用&性能测试
-
Java8中的流操作-基本使用&性能测试
-
所谓的网页爬虫用java代码来实现,此代码适合在maven项目中使用中使用,因为,代码中的类所对应的依赖可以让maven下载。
-
详解Java枚举类在生产环境中的使用方式