java.lang.Object
java.io.InputStream
java.io.SequenceInputStream
- 所有已实现的接口:
Closeable,AutoCloseable
SequenceInputStream 表示其他输入流的逻辑串联。它从有序的输入流集合开始,从第一个输入流读取直到到达文件末尾,然后从第二个输入流读取,依此类推,直到最后一个包含的输入流到达文件末尾。
- 自从:
- 1.0
-
构造方法总结
构造方法构造方法描述通过记住两个参数来初始化新创建的SequenceInputStream,这两个参数将按顺序读取,首先是s1,然后是s2,以提供要从此SequenceInputStream读取的字节。SequenceInputStream(Enumeration<? extends InputStream> e) 通过记住参数来初始化新创建的SequenceInputStream,该参数必须是一个Enumeration,它生成运行时类型为InputStream的对象。 -
方法总结
在类 java.io.InputStream 中声明的方法
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
构造方法详细信息
-
SequenceInputStream
通过记住参数来初始化新创建的SequenceInputStream,该参数必须是一个Enumeration,它生成运行时类型为InputStream的对象。枚举产生的输入流将按顺序读取,以提供要从此SequenceInputStream读取的字节。枚举中的每个输入流都用完后,通过调用其close方法将其关闭。- 参数:
e- 输入流的枚举。- 参见:
-
SequenceInputStream
通过记住两个参数来初始化新创建的SequenceInputStream,这两个参数将按顺序读取,首先是s1,然后是s2,以提供要从此SequenceInputStream读取的字节。- 参数:
s1- 要读取的第一个输入流。s2- 要读取的第二个输入流。
-
-
方法详情
-
available
返回可以从当前底层输入流中读取(或跳过)的字节数的估计值,而不会被当前底层输入流的下一次方法调用阻塞。下一次调用可能是同一个线程或另一个线程。单次读取或跳过这么多字节不会阻塞,但可能会读取或跳过更少的字节。该方法简单地调用当前底层输入流的
available并返回结果。- 重写:
available在类InputStream中- 返回:
-
估计可以从当前底层输入流读取(或跳过)而不阻塞的字节数,或者
0如果此输入流已通过调用其close()方法关闭 - 抛出:
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 - offIOException- 如果发生 I/O 错误。- 参见:
-
close
关闭此输入流并释放与该流关联的所有系统资源。关闭的SequenceInputStream无法执行输入操作,也无法重新打开。如果此流是从枚举创建的,则从枚举中请求所有剩余元素并在
close方法返回之前关闭。- 指定者:
close在接口AutoCloseable中- 指定者:
close在接口Closeable中- 重写:
close在类InputStream中- 抛出:
IOException- 如果发生 I/O 错误。
-