JavaTM 2 Platform
Standard Ed. 5.0

java.io
类 SequenceInputStream

java.lang.Object
  继承者 java.io.InputStream
      继承者 java.io.SequenceInputStream
所有已实现的接口:
Closeable

public class SequenceInputStream
extends InputStream

SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。

从以下版本开始:
JDK1.0

构造方法摘要
SequenceInputStream(Enumeration<? extends InputStream> e)
          通过记住该参数初始化新创建的 SequenceInputStream,该参数必须是生成运行时类型为 InputStream 对象的 Enumeration 型参数。
SequenceInputStream(InputStream s1, InputStream s2)
          通过记住这两个参数初始化新创建的 SequenceInputStream(将按顺序读取这两个参数,先读取 s1 然后读取 s2),以提供从此 SequenceInputStream 读取的字节。
 
方法摘要
 int available()
          返回当前流中可用的字节数。
 void close()
          关闭此输入流并释放与此流关联的所有系统资源。
 int read()
          从此输入流中读取下一个数据字节。
 int read(byte[] b, int off, int len)
          将最多 len 个数据字节从此输入流读入字节数组。
 
从类 java.io.InputStream 继承的方法
mark, markSupported, read, reset, skip
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SequenceInputStream

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 - 要读取的第二个输入流。
方法详细信息

available

public int available()
              throws IOException
返回当前流中可用的字节数。

覆盖:
InputStream 中的 available
返回:
可以不受阻塞地从此输入流读取的字节数。
抛出:
IOException - 如果发生 I/O 错误。
从以下版本开始:
JDK1.1

read

public int read()
         throws IOException
从此输入流中读取下一个数据字节。返回 0255 范围内的 int 字节。如果因流的末尾已到达而没有可用的字节,则返回值 -1。在输入数据可用、检测到流的末尾或者抛出异常前,此方法一直阻塞。

此方法尝试从当前子流读取一个字节。如果到达流的末尾,它将调用当前子流的 close 方法,并从下一个子流开始读取。

指定者:
InputStream 中的 read
返回:
下一个数据字节,如果到达流的末尾,则返回 -1
抛出:
IOException - 如果发生 I/O 错误。

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
将最多 len 个数据字节从此输入流读入字节数组。在至少 1 个输入字节可用前,此方法一直阻塞。如果第一个参数为 null,则将读取并丢弃最多 len 个字节。

SequenceInputStreamread 方法尝试从当前子流中读取该数据。如果由于子流到达流的末尾而未能读取任何字符,则它将调用当前子流的 close 方法,并从下一个子流开始读取。

覆盖:
InputStream 中的 read
参数:
b - 读入数据的缓冲区。
off - 数据的初始偏移量。
len - 读取的最多字节数。
返回:
读取的字节数 int。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
InputStream.read()

close

public void close()
           throws IOException
关闭此输入流并释放与此流关联的所有系统资源。关闭的 SequenceInputStream 无法执行输入操作,且无法重新打开。

如果此流从一个枚举创建,所有剩余的元素从该枚举中请求并在 InputStreamclose 方法返回之前关闭。

指定者:
接口 Closeable 中的 close
覆盖:
InputStream 中的 close
抛出:
IOException - 如果发生 I/O 错误。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策