SequenceInputStream
来源:互联网 发布:nba2k17帅哥捏脸数据 编辑:程序博客网 时间:2024/05/22 10:23
SequenceInputStream 序列流
将多个流以集合的方式合并到一个流中
需求:
将1.txt,2.txt,3.txt中的一个数据合并到一个文件中
效率比较低的方法:
private static void lowMethod() throws IOException { Vector<FileInputStream> v =new Vector<FileInputStream>(); v.add(new FileInputStream("1.txt")); v.add(new FileInputStream("2.txt")); v.add(new FileInputStream("3.txt")); Enumeration<FileInputStream> en=v.elements(); SequenceInputStream sis =new SequenceInputStream(en); FileOutputStream fos=new FileOutputStream("4.txt"); byte[] buf=new byte[1024]; int len=0; while((len=sis.read(buf))!=-1){ fos.write(buf,0,len); } fos.close(); sis.close();//关闭集合中的所有流 }
快速的方法:
public static void beautifulMethod() throws IOException{ ArrayList<FileInputStream> al = new ArrayList<FileInputStream>(); al.add(new FileInputStream("1.txt")); al.add(new FileInputStream("2.txt")); al.add(new FileInputStream("3.txt")); Enumeration<FileInputStream> en=Collections.enumeration(al); SequenceInputStream sis =new SequenceInputStream(en); FileOutputStream fos=new FileOutputStream("6.txt"); byte[] buf=new byte[1024]; int len=0; while((len=sis.read(buf))!=-1){ fos.write(buf,0,len); } fos.close(); sis.close();//关闭集合中的所有流 }
内部实现演示:
public static void fastmethod() throws IOException{ ArrayList<FileInputStream> al = new ArrayList<FileInputStream>(); al.add(new FileInputStream("1.txt")); al.add(new FileInputStream("2.txt")); al.add(new FileInputStream("3.txt")); final Iterator<FileInputStream> it=al.iterator(); Enumeration<FileInputStream> en=new Enumeration<FileInputStream>(){ @Override public boolean hasMoreElements() { return it.hasNext(); } @Override public FileInputStream nextElement() { return it.next(); } }; SequenceInputStream sis =new SequenceInputStream(en); FileOutputStream fos=new FileOutputStream("5.txt"); byte[] buf=new byte[1024]; int len=0; while((len=sis.read(buf))!=-1){ fos.write(buf,0,len); } fos.close(); sis.close();//关闭集合中的所有流 }
阅读全文
0 0
- SequenceInputStream
- SequenceInputStream
- SequenceInputStream
- SequenceInputStream学习
- Java SequenceInputStream 的使用
- SequenceInputStream合并流
- Java合并流SequenceInputStream
- java-SequenceInputStream,切割、…
- 序列流 SequenceInputStream
- SequenceInputStream----合并流
- SequenceInputStream的简单使用
- java之SequenceInputStream
- java 合并流SequenceInputStream
- IO-BufferedReader、Scanner、SequenceInputStream
- SequenceInputStream合并流
- SequenceInputStream,ObjectInput/OutputStream
- Java基础----SequenceInputStream
- SequenceInputStream合并流
- next_permutation
- 阿里云 ECS Windows 2008中的FTP配置图文教程
- 1025 排序(vector存结构体)
- 170914 逆向-问鼎杯题库(Reverse100)
- 城市云脑研究之三,人工智能在城市云脑建设中的地位与作用
- SequenceInputStream
- mac 安装 xgboost
- 深入了解数据库索引的原理
- 如何在将c++中的Qlist<object*> 注册到qml中并使用
- 静态链接库LIB和动态链接库DLL的区别
- 在html页面中画出逻辑上的二叉树(资源下载)
- 读史笔记--前汉
- 51nod 1267 4个数和为0
- 爬取糗事百科的笑话,每按一下Enter键,输出一条信息