java.lang.Object
java.io.InputStream
java.io.SequenceInputStream
- 所有已实现的接口:
-
Closeable
,AutoCloseable
SequenceInputStream
表示其他输入流的逻辑连接。它从一个有序的输入流集合开始读取第一个流,直到达到文件末尾,然后从第二个流开始读取,依此类推,直到最后一个包含的输入流达到文件末尾。
- 自从:
- 1.0
-
Constructor Summary
ConstructorDescription通过记住两个参数来初始化新创建的SequenceInputStream
,这些参数将按顺序读取,首先是s1
,然后是s2
,以提供要从此SequenceInputStream
读取的字节。SequenceInputStream
(Enumeration<? extends InputStream> e) 通过记住参数来初始化新创建的SequenceInputStream
,该参数必须是一个生成其运行时类型为InputStream
的对象的Enumeration
。 -
Method Summary
Methods declared in class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
SequenceInputStream
通过记住参数来初始化新创建的SequenceInputStream
,该参数必须是一个生成其运行时类型为InputStream
的对象的Enumeration
。由枚举产生的输入流将按顺序读取,以提供要从此SequenceInputStream
读取的字节。在枚举产生的每个输入流耗尽后,将通过调用其close
方法来关闭它。- 参数:
-
e
- 输入流的枚举。 - 参见:
-
SequenceInputStream
通过记住两个参数来初始化新创建的SequenceInputStream
,这些参数将按顺序读取,首先是s1
,然后是s2
,以提供要从此SequenceInputStream
读取的字节。- 参数:
-
s1
- 要读取的第一个输入流。 -
s2
- 要读取的第二个输入流。
-
-
Method Details
-
available
返回可以从当前底层输入流读取(或跳过)的字节数的估计值,而不会被当前底层输入流的下一次调用方法阻塞。下一次调用可能是同一个线程或另一个线程。读取或跳过这么多字节的单个操作不会阻塞,但可能读取或跳过更少的字节。此方法简单地调用当前底层输入流的
available
并返回结果。- 覆盖:
-
available
在类中InputStream
- 返回:
-
估计可以从当前底层输入流读取(或跳过)的字节数,而不会被阻塞,或者如果通过调用其
close()
方法关闭了此输入流,则返回0
- 抛出:
-
IOException
- 如果发生I/O错误。 - 自从:
- 1.1
-
read
从输入流中读取下一个数据字节。值字节作为int
返回,范围为0
到255
。如果没有字节可用,因为已达到流的末尾,则返回值-1
。此方法将阻塞,直到有输入数据可用,检测到流的末尾,或抛出异常。此方法尝试从当前子流中读取一个字节。如果到达流的末尾,它将调用当前子流的
close
方法,并开始从下一个子流读取。- 指定者:
-
read
在类中InputStream
- 返回:
-
下一个数据字节,如果达到流的末尾,则返回
-1
。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
read
从此输入流中最多读取len
字节的数据到字节数组中。如果已达到最后一个包含流的末尾,则返回-1
。否则,如果len
不为零,则该方法将阻塞,直到至少有1个字节的输入可用;如果len
为零,则不会读取任何字节,并返回0
。SequenceInputStream
的read
方法尝试从当前子流中读取数据。如果由于子流已达到流的末尾而无法读取任何字节,则调用当前子流的close
方法,并开始从下一个子流读取。- 覆盖:
-
read
在类中InputStream
- 参数:
-
b
- 读取数据的缓冲区。 -
off
- 写入数据的数组b
中的起始偏移量。 -
len
- 要读取的最大字节数。 - 返回:
-
读入缓冲区的总字节数,如果没有更多数据,因为已达到最后一个包含流的末尾,则返回
-1
。 - 抛出:
-
NullPointerException
- 如果尚未达到最后一个包含流的末尾且b
为null
。 -
IndexOutOfBoundsException
- 如果尚未达到最后一个包含流的末尾且off
为负,len
为负,或len
大于b.length - off
。 -
IOException
- 如果发生I/O错误。 - 参见:
-
close
关闭此输入流并释放与该流关联的任何系统资源。关闭的SequenceInputStream
无法执行输入操作,也无法重新打开。如果此流是从枚举创建的,则在
close
方法返回之前,将从枚举请求所有剩余元素并关闭它们。- 指定者:
-
close
在接口中AutoCloseable
- 指定者:
-
close
在接口中Closeable
- 覆盖:
-
close
在类中InputStream
- 抛出:
-
IOException
- 如果发生I/O错误。
-