A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 马云 中级黑马   /  2012-3-22 17:32  /  1637 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

拆分流:
  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. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马