|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.io
类 FilterInputStream
java.lang.Object java.io.InputStream java.io.FilterInputStream
- 所有已实现的接口:
- Closeable
- 直接已知子类:
- BufferedInputStream, CheckedInputStream, CipherInputStream, DataInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, ProgressMonitorInputStream, PushbackInputStream
-
public class FilterInputStream
- extends InputStream
FilterInputStream
包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream
类本身只是简单地重写那些将所有请求传递给所包含输入流的 InputStream
的所有方法。FilterInputStream
的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
- 从以下版本开始:
- JDK1.0
字段摘要 | |
---|---|
protected InputStream |
in 要过滤的输入流。 |
构造方法摘要 | |
---|---|
protected |
FilterInputStream(InputStream in) 将参数 in 分配给字段 this.in ,以便记住它供以后使用,通过这种方式创建一个 FilterInputStream 。 |
方法摘要 | |
---|---|
int |
available() 返回可以不受阻塞地从此输入流中读取的字节数。 |
void |
close() 关闭此输入流并释放与此流关联的所有系统资源。 |
void |
mark(int readlimit) 在输入流中的当前位置上作标记。 |
boolean |
markSupported() 测试此输入流是否支持 mark 和 reset 方法。 |
int |
read() 从此输入流中读取下一个数据字节。 |
int |
read(byte[] b) 从此输入流中将 byte.length 个字节的数据读入一个字节数组中。 |
int |
read(byte[] b, int off, int len) 从此输入流中将 len 个字节的数据读入一个字节数组中。 |
void |
reset() 将此流重新定位到对此输入流最后调用 mark 方法时的位置。 |
long |
skip(long n) 从输入流中跳过并丢弃 n 个字节的数据。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
in
protected volatile InputStream in
-
要过滤的输入流。
构造方法详细信息 |
---|
FilterInputStream
protected FilterInputStream(InputStream in)
-
将参数
in
分配给字段this.in
,以便记住它供以后使用,通过这种方式创建一个FilterInputStream
。- 参数:
-
in
- 基础输入流,如果要在没有基础流的情况下创建此实例,则该参数为null
。
方法详细信息 |
---|
read
public int read() throws IOException
-
从此输入流中读取下一个数据字节。返回一个
0
到255
范围内的int
字节值。如果因为已经到达流末尾而没有字节可用,则返回-1
。在输入数据可用、检测到流末尾或抛出异常之前,此方法将一直阻塞。此方法只执行
in.read()
并返回结果。 -
- 指定者:
-
类
InputStream
中的read
-
- 返回:
-
下一个数据字节;如果已到达流末尾,则返回
-1
。 - 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
in
read
public int read(byte[] b) throws IOException
-
从此输入流中将
byte.length
个字节的数据读入一个字节数组中。在某些输入可用之前,此方法将阻塞。此方法只执行
read(b, 0, b.length)
调用并返回结果。注意到它不 执行in.read(b)
很重要;FilterInputStream
的某些子类依赖于实际使用的实现策略。 -
- 覆盖:
-
类
InputStream
中的read
-
- 参数:
-
b
- 存储读取数据的缓冲区。 - 返回:
-
读入缓冲区的字节总数,如果因为已经到达流末尾而没有更多的数据,则返回
-1
。 - 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
read(byte[], int, int)
read
public int read(byte[] b, int off, int len) throws IOException
-
从此输入流中将
len
个字节的数据读入一个字节数组中。在某些输入可用之前,此方法将阻塞。此方法只执行
in.read(b, off, len)
并返回结果。 -
- 覆盖:
-
类
InputStream
中的read
-
- 参数:
-
b
- 存储读取数据的缓冲区。 -
off
- 数据的起始偏移量。 -
len
- 读取的最大字节数。 - 返回:
-
读入缓冲区的字节总数,如果因为已经到达流末尾而没有更多的数据,则返回
-1
。 - 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
in
skip
public long skip(long n) throws IOException
-
从输入流中跳过并丢弃
n
个字节的数据。出于各种原因,skip
方法最终跳过的字节数可能更少一些,甚至可能为0
。返回实际跳过的字节数。此方法只执行
in.skip(n)
。 -
- 覆盖:
-
类
InputStream
中的skip
-
- 参数:
-
n
- 要跳过的字节数。 - 返回:
- 实际跳过的字节数。
- 抛出:
-
IOException
- 如果发生 I/O 错误。
available
public int available() throws IOException
-
返回可以不受阻塞地从此输入流中读取的字节数。
此方法只执行
in.available()
并返回结果。 -
- 覆盖:
-
类
InputStream
中的available
-
- 返回:
- 可以不受阻塞地从输入流中读取的字节数。
- 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
in
close
public void close() throws IOException
-
关闭此输入流并释放与此流关联的所有系统资源。此方法只执行
in.close()
。 -
- 指定者:
-
接口
Closeable
中的close
- 覆盖:
-
类
InputStream
中的close
-
- 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
in
mark
public void mark(int readlimit)
-
在输入流中的当前位置上作标记。
reset
方法的后续调用将此流重新定位在最后标记的位置上,以便后续读取操作重新读取相同的字节。readlimit
参数告知此输入流在标记位置无效之前允许读取的字节数。此方法只执行
in.mark(readlimit)
。 -
- 覆盖:
-
类
InputStream
中的mark