黑马程序员技术交流社区

标题: 合并流和拆分流的例子 [打印本页]

作者: 马云    时间: 2012-3-22 17:32
标题: 合并流和拆分流的例子
拆分流:
  1. package Demo;

  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;

  8. public class chai {

  9.         public static void main(String[] args) throws IOException {
  10.                 BufferedInputStream bus=new BufferedInputStream(new FileInputStream("c:\\1.exe"));
  11.                 byte[] b=new byte[1024*1024*5];
  12.                 int len;
  13.                 int i=1;
  14.                 while((len=bus.read(b))!=-1){
  15.                         BufferedOutputStream bfu=new BufferedOutputStream(new FileOutputStream("c:\\"+i+".parm"));
  16.                         bfu.write(b,0,len);
  17.                         i++;
  18.                 }
  19.                 bus.close();
  20.                
  21.         }

  22. }
复制代码
合并流
  1. package Demo;

  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.SequenceInputStream;
  7. import java.util.ArrayList;
  8. import java.util.Enumeration;
  9. import java.util.ListIterator;

  10. public class Sequec{
  11.         public static void main(String[] args) throws IOException{
  12.                 ArrayList<InputStream> a=new ArrayList<InputStream>();
  13.                 for(int i=1;i<6;i++){
  14.                         a.add(new FileInputStream("C:\\"+i+".parm"));
  15.                 }
  16.                 final ListIterator<InputStream> it=a.listIterator();
  17.                
  18.                 Enumeration<FileInputStream> en=new  Enumeration<FileInputStream> ()
  19.                               {
  20.                                     public boolean hasMoreElements()
  21.                                     {
  22.                                             return it.hasNext();
  23.                                      }
  24.                                      public FileInputStream nextElement()
  25.                                      {
  26.                                             return (FileInputStream) it.next();
  27.                                      }
  28.                                };
  29.                                SequenceInputStream sis=new  SequenceInputStream (en);
  30.                                
  31.                                FileOutputStream fos =new FileOutputStream("c:\\1.exe");
  32.                                byte[] buf=new byte[1024];
  33.                                int len=0;
  34.                                while((len=sis.read(buf))!=-1)
  35.                                {
  36.                                        fos.write(buf,0,len);
  37.                                 }
  38.                                 fos.close();
  39.                                 sis.close();


  40.                
  41.         }

  42. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2