黑马程序员技术交流社区
标题:
合并流和拆分流的例子
[打印本页]
作者:
马云
时间:
2012-3-22 17:32
标题:
合并流和拆分流的例子
拆分流:
package Demo;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class chai {
public static void main(String[] args) throws IOException {
BufferedInputStream bus=new BufferedInputStream(new FileInputStream("c:\\1.exe"));
byte[] b=new byte[1024*1024*5];
int len;
int i=1;
while((len=bus.read(b))!=-1){
BufferedOutputStream bfu=new BufferedOutputStream(new FileOutputStream("c:\\"+i+".parm"));
bfu.write(b,0,len);
i++;
}
bus.close();
}
}
复制代码
合并流
package Demo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.ListIterator;
public class Sequec{
public static void main(String[] args) throws IOException{
ArrayList<InputStream> a=new ArrayList<InputStream>();
for(int i=1;i<6;i++){
a.add(new FileInputStream("C:\\"+i+".parm"));
}
final ListIterator<InputStream> it=a.listIterator();
Enumeration<FileInputStream> en=new Enumeration<FileInputStream> ()
{
public boolean hasMoreElements()
{
return it.hasNext();
}
public FileInputStream nextElement()
{
return (FileInputStream) it.next();
}
};
SequenceInputStream sis=new SequenceInputStream (en);
FileOutputStream fos =new FileOutputStream("c:\\1.exe");
byte[] buf=new byte[1024];
int len=0;
while((len=sis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2