
Java IO流-合并流
发布日期:2022-04-02 18:15:45
浏览次数:6
分类:博客文章
本文共 1744 字,大约阅读时间需要 5 分钟。
2017-11-05 20:15:28
- SequenceinputStream
SequenceinputStream:SequenceInputStream
表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。
*构造方法
*常用方法
public class Demo6 { public static void main(String[] args) throws IOException { InputStream in1 = new FileInputStream("E:/text.txt"); InputStream in2 = new FileInputStream("E:/text2.txt"); SequenceInputStream sis = new SequenceInputStream(in1, in2); BufferedOutputStream bs = new BufferedOutputStream(new FileOutputStream("" + "E:/copy.txt")); byte[] bys = new byte[1024]; int len = 0; while ((len = sis.read(bys)) != -1) { bs.write(bys, 0, len); } bs.close(); sis.close(); }}
如果超过两个该怎么办呢?其实该类还提供了另一个构造方法:public SequenceInputStream(Enumeration<? extends InputStream> e)
这里的Enumeration枚举器是Vector类的一个方法的返回值:public Enumeration<E> elements()
剩下的就非常简单了:
public class Demo6 { public static void main(String[] args) throws IOException { Vectorv = new Vector<>(); InputStream in1 = new FileInputStream("E:/text.txt"); InputStream in2 = new FileInputStream("E:/text2.txt"); InputStream in3 = new FileInputStream("E:/text3.txt"); v.add(in1); v.add(in2); v.add(in3); Enumeration enumeration = v.elements(); SequenceInputStream sis = new SequenceInputStream(enumeration); BufferedOutputStream bs = new BufferedOutputStream(new FileOutputStream("" + "E:/copy.txt")); byte[] bys = new byte[1024]; int len = 0; while ((len = sis.read(bys)) != -1) { bs.write(bys, 0, len); } bs.close(); sis.close(); }}
转载地址:https://www.cnblogs.com/hyserendipity/p/7788644.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2023年09月23日 12时51分24秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据库系统概论——第一章绪论——数据模型、数据库系统结构
2019-03-07
超键、候选键、主键和外键的区别和联系
2019-03-07
数据结构考研复试、面试 ——常见提问总结
2019-03-07
数据结构面试、数据结构考研复试——常见问题以及回答
2019-03-07
考研复试--英语提问--万能回答
2019-03-07
堆和栈究竟有什么区别?堆栈溢出一般是由什么原因导致的?
2019-03-07
数据结构面试、数据结构和算法、数据结构笔试
2019-03-07
数据结构复试问题整合、数据结构面试、问题记录
2019-03-07
GAME101——homework0
2019-03-07
C++、C关键字
2019-03-07
3dmax入门
2019-03-07
李宏毅2020ML——P24-31可解释性ML
2019-03-07
李宏毅2020ML——P33-40 Attack ML models
2019-03-07
李宏毅2020ML——P43-48Network Compression网络压缩
2019-03-07
李宏毅2020ML——P58 自动编码器
2019-03-07
李宏毅2020ML——P63 ELMO、BERT、GPT
2019-03-07
28000个比特币丢失背后的罗生门
2019-03-07
玲听丨微众银行区块链开源观察:把代码丢出去,把信任拿回来
2019-03-07
所有不看好比特币的人,最终都逃不过“真香”理论
2019-03-07