[Java基础] SequenceInputStream输入合并流

简介:
转载: http://blog.csdn.net/xuefeng1009/article/details/6955707

public SequenceInputStream(Enumeration<? extends InputStream> e)
通过记住参数来初始化新创建的  SequenceInputStream,该参数必须是生成运行时类型为  InputStream 对象的  Enumeration 型参数。将按顺序读取由该枚举生成的输入流,以提供从此  SequenceInputStream 读取的字节。在用尽枚举中的每个输入流之后,将通过调用该流的  close 方法将其关闭。

 

参数:
e - 输入流的一个枚举。
另请参见:
Enumeration

SequenceInputStream

public SequenceInputStream(InputStream s1,
                           InputStream s2)
通过记住这两个参数来初始化新创建的  SequenceInputStream(将按顺序读取这两个参数,先读取  s1,然后读取  s2),以提供从此 SequenceInputStream 读取的字节。

 

参数:
s1 - 要读取的第一个输入流。
s2 - 要读取的第二个输入流。
举例 1 : 
复制代码
import java.io.*;
import java.util.*;
class SequenceDemo1
{
    public static void main(String[] args)throws IOException
    {
        
        Vector<FileInputStream> v = new Vector<FileInputStream>();

        v.add(new FileInputStream("c:\\1.txt"));
        v.add(new FileInputStream("c:\\2.txt"));
        v.add(new FileInputStream("c:\\3.txt"));

        Enumeration<FileInputStream> en = v.elements();

        SequenceInputStream sis = new SequenceInputStream(en);

        FileOutputStream fos = new FileOutputStream("c:\\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();

    }
}
复制代码

举例 2 : 

 
复制代码
import java.io.*;
import java.util.*;
class SequenceDemo2
{
    public static void main(String[] args)throws IOException
    {
        InputStream is1 = null;
        InputStream is2 = null;
        OutputStream os = null;
        SequenceInputStream sis = new null;
        is1 = new FileInputStream("d:"+File.separator+"a.txt");
        is2 = new FileInputStream("d:"+File.separator+"b.txt");
        os = new FileOutputStream("d:"+File.separator+"ab.txt");
        sis = new SequenceInputStream(is1,is2);
        int temp = 0;
        while((temp)=sis.read()!=-1)
        {
            os.write(temp);
        }
        sis.close();
        is1.close();
        is2.close();
        os.close();


    }
}
复制代码

 

分类:  Java基础
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/4482467.html如需转载请自行联系原作者

demoblog
相关文章
|
8月前
|
存储 缓存 Java
最新Java基础系列课程--Day10-IO流文件处理
最新Java基础系列课程--Day10-IO流文件处理
|
8月前
|
存储 Java
最新Java基础系列课程--Day10-IO流文件处理(一)
最新Java基础系列课程--Day10-IO流文件处理
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
98 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
7月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
228 2
|
4月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
7月前
|
安全 Java
|
7月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
61 4
|
7月前
|
存储 缓存 Java
Java基础17-读懂Java IO流和常见面试题(二)
Java基础17-读懂Java IO流和常见面试题(二)
49 0
|
7月前
|
存储 Java Unix
Java基础17-读懂Java IO流和常见面试题(一)
Java基础16-读懂Java IO流和常见面试题(一)
86 0
|
8月前
|
Java
Java基础教程(12)-Java中的IO流
【4月更文挑战第12天】Java IO涉及输入输出,包括从外部读取数据到内存(如文件、网络)和从内存输出到外部。流是信息传输的抽象,分为字节流和字符流。字节流处理二进制数据,如InputStream和OutputStream,而字符流处理Unicode字符,如Reader和Writer。File对象用于文件和目录操作,Path对象简化了路径处理。ZipInputStream和ZipOutputStream则用于读写zip文件。