黑马程序员技术交流社区

标题: 通过ArrayList/interator获取枚举对象 [打印本页]

作者: 午夜b'Boy    时间: 2014-3-1 22:41
标题: 通过ArrayList/interator获取枚举对象
方式一       
ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
                for(int x=0; x<partcount; x++){
                        al.add(new FileInputStream(new File(dir,x+SP)));
                }
                Enumeration<FileInputStream> en = Collections.enumeration(al);
                SequenceInputStream sis = new SequenceInputStream(en);
方式二
public static void merge()throws IOException
        {
                ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();

                for(int x=1; x<=3; x++)
                {
                        al.add(new FileInputStream("c:\\splitfiles\\"+x+".part"));
                }

                final Iterator<FileInputStream> it = al.iterator();

                Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()
                {
                        public boolean hasMoreElements()
                        {
                                return it.hasNext();
                        }
                        public FileInputStream nextElement()
                        {
                                return it.next();
                        }
                };

                SequenceInputStream sis = new SequenceInputStream(en);


                FileOutputStream fos = new FileOutputStream("c:\\splitfiles\\0.bmp");

                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