返回介绍

java.io 类 SequenceInputStream

发布于 2019-10-04 09:50:51 字数 5949 浏览 911 评论 0 收藏 0

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(InputStreams1, InputStreams2)

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

方法摘要
intavailable()

返回当前流中可用的字节数。

voidclose()

关闭此输入流并释放与此流关联的所有系统资源。

intread()

从此输入流中读取下一个数据字节。

intread(byte[]b, intoff, intlen)

将最多 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(InputStreams1,
                           InputStreams2)
通过记住这两个参数初始化新创建的 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,
                intoff,
                intlen)
         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 错误。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文