|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.imageio.stream
类 MemoryCacheImageInputStream
java.lang.Object javax.imageio.stream.ImageInputStreamImpl javax.imageio.stream.MemoryCacheImageInputStream
- 所有已实现的接口:
- DataInput, ImageInputStream
-
public class MemoryCacheImageInputStream
- extends ImageInputStreamImpl
从常规 InputStream
获取输入的 ImageInputStream
的实现。内存缓冲区用于缓存(至少)丢弃位置和当前读取位置之间的数据。
一般而言,从常规 InputStream
进行读取时最好使用 FileCacheImageInputStream
。提供此类用于不可能创建可写入临时文件的情况。
字段摘要 |
---|
从类 javax.imageio.stream.ImageInputStreamImpl 继承的字段 |
---|
bitOffset, byteOrder, flushedPos, streamPos |
构造方法摘要 | |
---|---|
MemoryCacheImageInputStream(InputStream stream) 构造一个将从给定 InputStream 进行读取的 MemoryCacheImageInputStream 。 |
方法摘要 | |
---|---|
void |
close() 关闭此 MemoryCacheImageInputStream ,释放缓存。 |
void |
flushBefore(long pos) 丢弃所指示部分之前的流初始部分。 |
boolean |
isCached() 返回 true ,因为此 ImageInputStream 为了允许逆向查找而缓存了数据。 |
boolean |
isCachedFile() 返回 false ,因为此 ImageInputStream 不维护文件缓存。 |
boolean |
isCachedMemory() 返回 true ,因为此 ImageInputStream 维护主存缓存。 |
int |
read() 从流中读取单个字节,并以整数(0 到 255 之间)形式返回该字节。 |
int |
read(byte[] b, int off, int len) 从流中读取至多 len 个字节,并将其存储到 b 中(从 off 索引处开始)。 |
从类 javax.imageio.stream.ImageInputStreamImpl 继承的方法 |
---|
checkClosed, finalize, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, length, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
MemoryCacheImageInputStream
public MemoryCacheImageInputStream(InputStream stream)
-
构造一个将从给定
InputStream
进行读取的MemoryCacheImageInputStream
。- 参数:
-
stream
- 要从其进行读取的InputStream
。 - 抛出:
-
IllegalArgumentException
- 如果stream
为null
。
方法详细信息 |
---|
read
public int read() throws IOException
-
从接口
ImageInputStream
复制的描述 -
从流中读取单个字节,并以整数(0 到 255 之间)形式返回该字节。如果到达流末尾,则返回 -1。
在进行读取前,将流中的位偏移量重置为零。
-
- 指定者:
-
接口
ImageInputStream
中的read
- 指定者:
-
类
ImageInputStreamImpl
中的read
-
- 返回:
- 流中的 int 形式的字节值;或者 -1,指示 EOF(文件结束标记)。
- 抛出:
-
IOException
- 如果发生 I/O 错误。
read
public int read(byte[] b, int off, int len) throws IOException
-
从类
ImageInputStreamImpl
复制的描述 -
从流中读取至多
len
个字节,并将其存储到b
中(从off
索引处开始)。如果由于到达流末尾而没有读取任何字节,则返回-1
。在发生读取前,必须将流中的位偏移量重置为零。
子类必须提供此方法的实现。子类实现在退出前应该更新流位置。
-
- 指定者:
-
接口
ImageInputStream
中的read
- 指定者:
-
类
ImageInputStreamImpl
中的read
-
- 参数:
-
b
- 用来接收写入的字节数组。 -
off
-b
中要写入的起始位置。 -
len
- 要读取的最大字节数。 - 返回:
-
实际读取的字节数;或者
-1
,指示 EOF。 - 抛出:
-
IOException
- 如果发生 I/O 错误。
flushBefore
public void flushBefore(long pos) throws IOException
-
从接口
ImageInputStream
复制的描述 -
丢弃所指示部分之前的流初始部分。试图查找流的刷新部分中的偏移量将导致抛出
IndexOutOfBoundsException
。调用
flushBefore
可允许实现此接口的类释放用于存储流中的数据的资源(如内存和磁盘空间)。 -
- 指定者:
-
接口
ImageInputStream
中的flushBefore
- 覆盖:
-
类
ImageInputStreamImpl
中的flushBefore
-
- 参数:
-
pos
- 一个long
,它包含要刷新的文件前缀的长度。 - 抛出:
-
IOException
- 如果发生 I/O 错误。
isCached
public boolean isCached()
-
返回
true
,因为此ImageInputStream
为了允许逆向查找而缓存了数据。 -
- 指定者:
-
接口
ImageInputStream
中的isCached
- 覆盖:
-
类
ImageInputStreamImpl
中的isCached
-
- 返回:
-
true
。 - 另请参见:
-
isCachedMemory()
,isCachedFile()
isCachedFile
public boolean isCachedFile()
-
返回
false
,因为此ImageInputStream
不维护文件缓存。 -
- 指定者:
-
接口
ImageInputStream
中的isCachedFile
- 覆盖:
-
类
ImageInputStreamImpl
中的isCachedFile
-
- 返回:
-
false
。 - 另请参见:
-
isCached()
,isCachedMemory()
isCachedMemory
public boolean isCachedMemory()
-
返回
true
,因为此ImageInputStream
维护主存缓存。 -
- 指定者:
-
接口
ImageInputStream
中的isCachedMemory
- 覆盖:
-
类
ImageInputStreamImpl
中的isCachedMemory
-
- 返回:
-
true
。 - 另请参见:
-
isCached()
,isCachedFile()
close
public void close() throws IOException
-
关闭此
MemoryCacheImageInputStream
,释放缓存。但不关闭源InputStream
。 -
- 指定者:
-
接口
ImageInputStream
中的close
- 覆盖:
-
类
ImageInputStreamImpl
中的close
-
- 抛出:
-
IOException
- 如果发生 I/O 错误。