public interface ImageInputStream extends DataInput, Closeable
ImageReader
秒。
诸如InputStream
和File
之类的各种输入源以及未来的快速I / O源可以被该接口的适当实现“包裹”,以供Image I / O API使用。
Modifier and Type | Method and Description |
---|---|
void |
close()
关闭流。
|
void |
flush()
在当前流位置之前丢弃流的初始位置。
|
void |
flushBefore(long pos)
在指示的位置之前丢弃流的初始部分。
|
int |
getBitOffset()
返回当前的位偏移量,为0到7之间的整数,包括0和7。
|
ByteOrder |
getByteOrder()
作为
java.nio.ByteOrder 枚举的实例,返回从该流读取数据值的字节顺序。
|
long |
getFlushedPosition()
返回可以执行搜索的流中的最早位置。
|
long |
getStreamPosition()
返回流的当前字节位置。
|
boolean |
isCached()
如果这
ImageInputStream 缓存数据本身以返回
true ,则返回。
|
boolean |
isCachedFile()
如果这个
ImageInputStream 缓存数据本身以便允许向后查询,则返回
true ,并且高速缓存保存在临时文件中。
|
boolean |
isCachedMemory()
如果
ImageInputStream 缓存数据本身以返回
true ,以允许向后搜索,并且高速缓存保存在主内存中。
|
long |
length()
如果已知,返回流的总长度。
|
void |
mark()
在流中标记要通过后续呼叫返回到
reset 。
|
int |
read()
从流中读取一个字节,并将其作为0到255之间的整数返回。
|
int |
read(byte[] b)
从流中读取最多
b.length 个字节,并将其存储在从索引0开始的
b 中。
|
int |
read(byte[] b, int off, int len)
读取到
len 从流字节,并将其存储到
b 开始于索引
off 。
|
int |
readBit()
从流中读取一个位,并将其作为
int 返回,值为
0 或
1 。
|
long |
readBits(int numBits)
从流中读取一个bitstring,并将其作为
long 返回,第一位读取成为输出的最高有效位。
|
boolean |
readBoolean()
从流中读取一个字节,如果非零,
false 值为
true 如果为零,则返回
boolean 。
|
byte |
readByte()
从流中读取一个字节,并将其作为
byte 值返回。
|
void |
readBytes(IIOByteBuffer buf, int len)
从流中读取最多
len 个字节,并修改提供的
IIOByteBuffer 以指示可能找到数据的字节数组,偏移量和长度。
|
char |
readChar()
相当于
readUnsignedShort ,除了使用
char 数据类型返回结果。
|
double |
readDouble()
从流中读取8个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为
double 返回。
|
float |
readFloat()
从流中读取4个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为
float 返回。
|
void |
readFully(byte[] b)
读取
b.length 从流字节,并将其存储到
b 开始于索引
0 。
|
void |
readFully(byte[] b, int off, int len)
读取
len 从流字节,并将其存储到
b 开始于索引
off 。
|
void |
readFully(char[] c, int off, int len)
读取
len 从根据当前字节顺序的流字符(无符号的16位整数),并将其存储到
c 开始于索引
off 。
|
void |
readFully(double[] d, int off, int len)
读取
len 根据当前字节顺序从流双打(64位IEEE双精度浮点值),并且将它们存储到
d 开始于索引
off 。
|
void |
readFully(float[] f, int off, int len)
根据当前字节顺序从流中读取
len 浮点数(32位IEEE单精度浮点数),并将其存储到
f 从索引
off 开始。
|
void |
readFully(int[] i, int off, int len)
读取
len 从根据当前字节顺序的流整数(带符号的32位整数),并将其存储到
i 开始于索引
off 。
|
void |
readFully(long[] l, int off, int len)
读取
len 从根据当前字节顺序的流long(有符号的64位整数),并将其存储到
l 开始于索引
off 。
|
void |
readFully(short[] s, int off, int len)
读取
len 从根据当前字节顺序的流短裤(带符号的16位整数),并将其存储到
s 开始于索引
off 。
|
int |
readInt()
从流中读取4个字节,(在概念上)根据当前字节顺序连接它们,并以
int 返回结果。
|
String |
readLine()
从输入流读取下一行文本。
|
long |
readLong()
从流中读取8个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为
long 返回。
|
short |
readShort()
从流中读取两个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为
short 值返回。
|
int |
readUnsignedByte()
从流读取一个字节,(在概念上)将其转换为int,使用
0xff 屏蔽它,以便剥离任何符号扩展位,并将其作为
byte 值返回。
|
long |
readUnsignedInt()
从流中读取4个字节,并且(在概念上)根据当前字节顺序连接它们,将结果转换为长时间,使用
0xffffffffL 屏蔽它,以便剥离任何符号扩展位,并将结果作为无符号
long 值。
|
int |
readUnsignedShort()
从流中读取两个字节,并且(在概念上)根据当前字节顺序连接它们,将结果值转换为int,使用
int 对其进行
0xffff ,以剥离任何符号扩展名,并将结果作为无符号返回
int 价值。
|
String |
readUTF()
读取已使用
modified UTF-8格式编码的字符串。
|
void |
reset()
在最近不匹配的呼叫到
mark 的时候,返回到前一个位置的流指针,包括位偏移量。
|
void |
seek(long pos)
将当前流位置设置为所需位置。
|
void |
setBitOffset(int bitOffset)
将位偏移设置为0到7之间的整数,包括0和7。
|
void |
setByteOrder(ByteOrder byteOrder)
设置用于将来从该流读取数据值的字节顺序。
|
int |
skipBytes(int n)
将流位置向前移动给定数量的字节。
|
long |
skipBytes(long n)
将流位置向前移动给定数量的字节。
|
void setByteOrder(ByteOrder byteOrder)
枚举类java.nio.ByteOrder
用于指定字节顺序。 ByteOrder.BIG_ENDIAN
的值指定了所谓的大端或网元字节顺序,其中高位字节首先出现。 摩托罗拉和Sparc处理器以这种格式存储数据,而英特尔处理器则按照ByteOrder.LITTLE_ENDIAN
顺序存储数据。
字节顺序对从readBits
方法(或ImageOutputStream.writeBits
写的值)返回的结果没有影响。
byteOrder
-
ByteOrder.BIG_ENDIAN
或
java.nio.ByteOrder.LITTLE_ENDIAN
,指示网络字节顺序或其反向将用于将来读取。
ByteOrder
, getByteOrder()
, readBits(int)
ByteOrder getByteOrder()
java.nio.ByteOrder
枚举的实例,返回从该流读取数据值的字节顺序。
ByteOrder.BIG_ENDIAN
或
ByteOrder.LITTLE_ENDIAN
,指示正在使用哪个字节顺序。
ByteOrder
, setByteOrder(java.nio.ByteOrder)
int read() throws IOException
在发生读取之前,流内的位偏移被重置为零。
IOException
- 如果发生I / O错误。
int read(byte[] b) throws IOException
b.length
个字节,并将它们存储在从索引0开始的b
中。返回读取的字节数。
如果没有字节可以读取,因为已经到达流的结尾,则返回-1。
在发生读取之前,流内的位偏移被重置为零。
b
- 要写入的字节数组。
-1
表示EOF。
NullPointerException
- 如果
b
是
null
。
IOException
- 如果发生I / O错误。
int read(byte[] b, int off, int len) throws IOException
len
从流字节,并将其存储到b
开始于索引off
。
返回读取的字节数。
如果没有字节可以读取,因为已经到达流的末尾,则返回-1
。
在发生读取之前,流内的位偏移被重置为零。
b
- 要写入的字节数组。
off
- 起始位置在
b
内写。
len
- 要阅读的最大数量为
byte
。
-1
表示EOF。
NullPointerException
- 如果
b
是
null
。
IndexOutOfBoundsException
- 如果
off
为负,
len
,否则为
off + len
,否则为
b.length
。
IOException
- 如果发生I / O错误。
void readBytes(IIOByteBuffer buf, int len) throws IOException
len
个字节,并修改提供的IIOByteBuffer
以指示可能找到数据的字节数组,偏移量和长度。
来电者不应该尝试修改在IIOByteBuffer
找到的数据。
在发生读取之前,流内的位偏移被重置为零。
buf
- 要修改的IIOByteBuffer对象。
len
- 要阅读的最大数量
byte
。
IndexOutOfBoundsException
- 如果
len
是否定的。
NullPointerException
- 如果
buf
是
null
。
IOException
- 如果发生I / O错误。
boolean readBoolean() throws IOException
boolean
值为true
( false
。
在发生读取之前,流内的位偏移被重置为零。
readBoolean
在接口
DataInput
EOFException
- 如果达到流的结尾。
IOException
- 如果发生I / O错误。
byte readByte() throws IOException
byte
值返回。
之间的字节值0x00
和0x7f
表示之间的整数值0
和127
。
0x80
和0xff
之间的值代表从-128
到/1
。
在发生读取之前,流内的位偏移被重置为零。
readByte
在界面
DataInput
EOFException
- 如果达到流的结尾。
IOException
- 如果发生I / O错误。
int readUnsignedByte() throws IOException
0xff
进行掩码,以剥离任何符号扩展位,并将其作为byte
值返回。
因此, 0x00
和0x7f
之间的字节值简单地作为0
和127
之间的整数值返回。 0x80
和0xff
之间的值通常代表负值byte
,将映射到128
和255
之间的正整数。
在发生读取之前,流内的位偏移被重置为零。
readUnsignedByte
在接口
DataInput
EOFException
- 如果达到流的结尾。
IOException
- 如果发生I / O错误。
short readShort() throws IOException
short
值返回结果。
在发生读取之前,流内的位偏移被重置为零。
readShort
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
int readUnsignedShort() throws IOException
int
,口罩它0xffff
为了去掉所有符号扩展位,并返回结果以无符号int
价值。
在发生读取之前,流内的位偏移被重置为零。
readUnsignedShort
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
char readChar() throws IOException
readUnsignedShort
,除了使用char
数据类型返回结果。
在发生读取之前,流内的位偏移被重置为零。
readChar
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
readUnsignedShort()
int readInt() throws IOException
int
返回结果。
流内的位偏移被忽略,并被视为零。
readInt
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
long readUnsignedInt() throws IOException
0xffffffffL
进行掩码,以剥离任何符号扩展位,并将结果返回为无符号long
值。
在发生读取之前,流内的位偏移被重置为零。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
long readLong() throws IOException
long
返回。
在发生读取之前,流内的位偏移被重置为零。
readLong
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
float readFloat() throws IOException
float
返回。
在发生读取之前,流内的位偏移被重置为零。
readFloat
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
double readDouble() throws IOException
double
返回。
在发生读取之前,流内的位偏移被重置为零。
readDouble
在界面
DataInput
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
getByteOrder()
String readLine() throws IOException
String
返回。
请注意,由于此方法处理字节,它不支持输入完整的Unicode字符集。
如果在甚至可以读取一个字节之前遇到文件结束,则返回null
。 否则,每个所读取字节被转换为类型char
由零扩展。 如果遇到'\n'
'\n',则会被丢弃,读取停止。 如果遇到'\r'
'\r',则会被丢弃,如果以下字节转换为字符'\n'
,那么也将被丢弃; 阅读然后停止。 如果在遇到任何一个字符'\n'
和'\r'
之前遇到文件结尾,则读取停止。 一旦阅读停止,将返回一个String
,其中包含读取并且不被丢弃的所有字符。 请注意,此字符串中的每个字符的值都小于\u0100
,即(char)256
。
在发生读取之前,流内的位偏移被重置为零。
readLine
在界面
DataInput
IOException
- 如果发生I / O错误。
String readUTF() throws IOException
readUTF
的一般合同是它读取以修改的UTF-8格式编码的Unicode字符串的表示;
这个字符串然后作为一个String
返回。
首先,使用网络字节顺序(不考虑当前字节顺序设置),以readUnsignedShort
方法的方式读取和使用两个字节构造无符号16位整数。 该整数值称为UTF长度 ,并指定要读取的其他字节数。 然后将这些字节通过组合考虑来转换为字符。 每组的长度根据组的第一个字节的值计算。 组之后的字节(如果有的话)是下一组的第一个字节。
如果一个组的第一个字节与位模式0xxxxxxx
(其中x
表示“可能是0
或1
”) 1
,则该组由该字节组成。 该字节是零扩展形成一个字符。
如果一组的第一个字节与位模式110xxxxx
匹配,那么该组由该字节a
和第二个字节b
。 如果没有字节b
(因为字节a
是要读取的最后一个字节),或者如果字节b
与位模式10xxxxxx
不匹配,则抛出UTFDataFormatException
。 否则,该组将转换为字符:
(char)(((a& 0x1F) << 6) | (b & 0x3F))
如果一组的第一个字节与位模式1110xxxx
匹配,则该组由该字节a
和另外两个字节b
和c
。
如果没有字节c
(因为字节a
是要读取的最后两个字节之一),或者字节b
或字节c
与位模式10xxxxxx
不匹配,则抛出UTFDataFormatException
。
否则,该组将转换为字符:
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
如果组的第一个字节与模式1111xxxx
或模式10xxxxxx
,则抛出UTFDataFormatException
。
如果在整个过程中的任何时间遇到文件结尾,则抛出java.io.EOFException
。
通过此过程将每个组转换为一个字符后,以与输入流中读取相应组相同的顺序收集String
,形成一个返回的String
。
当前字节顺序设置被忽略。
在发生读取之前,流内的位偏移被重置为零。
注意:此方法不应用于执行使用标准UTF-8的图像格式,因为此处使用的修改后的UTF-8与标准UTF-8不兼容。
readUTF
在界面
DataInput
EOFException
- 如果此流在读取所有字节之前到达结束。
UTFDataFormatException
- 如果字节不表示字符串的有效修改的UTF-8编码。
IOException
- 如果发生I / O错误。
void readFully(byte[] b, int off, int len) throws IOException
len
字节,并将它们存储在b
从索引off
开始。
如果达到流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
readFully
在界面
DataInput
b
- 要写入的字节数组。
off
- 起始位置在
b
内写。
len
- 要阅读的最大数量为
byte
。
IndexOutOfBoundsException
- 如果
off
为负数,
len
为负数,或
off + len
大于
b.length
。
NullPointerException
- 如果
b
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(byte[] b) throws IOException
b.length
从流字节,并将其存储到b
开始于索引0
。
如果达到流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
readFully
在界面
DataInput
b
-的阵列
byte
秒。
NullPointerException
- 如果
b
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(short[] s, int off, int len) throws IOException
len
从根据当前字节顺序的流短裤(带符号的16位整数),并将其存储到s
开始于索引off
。
如果达到流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
s
- 要写入的短裤阵列。
off
- 起始位置在
s
内写。
len
- 要阅读的最大数量为
short
。
IndexOutOfBoundsException
- 如果
off
为负数,则
len
为负数,或
off + len
大于
s.length
。
NullPointerException
- 如果
s
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(char[] c, int off, int len) throws IOException
len
从根据当前字节顺序的流字符(无符号的16位整数),并将其存储到c
开始于索引off
。
如果到达流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
c
- 要写入的字符数组。
off
- 起始位置在
c
内写。
len
- 要阅读的最大数量为
char
。
IndexOutOfBoundsException
- 如果
off
为负数,
len
,否则为
off + len
,或
off + len
大于
c.length
。
NullPointerException
- 如果
c
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(int[] i, int off, int len) throws IOException
len
从根据当前字节顺序的流整数(带符号的32位整数),并将其存储到i
开始于索引off
。
如果达到流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
i
- 要写入的int数组。
off
- 起始位置在
i
内写。
len
- 要阅读的最大数量为
int
。
IndexOutOfBoundsException
- 如果
off
是负数,则
len
为负数,或
off + len
大于
i.length
。
NullPointerException
- 如果
i
是
null
。
EOFException
- 如果流在读完所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(long[] l, int off, int len) throws IOException
len
从根据当前字节顺序的流long(有符号的64位整数),并将其存储到l
开始于索引off
。
如果到达流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
l
- 要写入的数组。
off
- 起始位置在
l
内写。
len
- 要阅读的最大数量为
long
。
IndexOutOfBoundsException
- 如果
off
为负数,则
len
为负数,或
off + len
大于
l.length
。
NullPointerException
- 如果
l
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(float[] f, int off, int len) throws IOException
len
根据当前字节顺序从流浮标(32位IEEE单精度浮点值),并且将它们存储到f
开始于索引off
。
如果达到流的末尾,将抛出一个java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
f
- 要写入的浮点数组。
off
- 起始位置在
f
内写。
len
- 要阅读的最大数量为
float
。
IndexOutOfBoundsException
- 如果
off
为负,
len
,否则为
off + len
,或
off + len
大于
f.length
。
NullPointerException
- 如果
f
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
void readFully(double[] d, int off, int len) throws IOException
len
根据当前字节顺序从流双打(64位IEEE双精度浮点值),并且将它们存储到d
开始于索引off
。
如果达到流的末尾,将抛出java.io.EOFException
。
在发生读取之前,流内的位偏移被重置为零。
d
- 要写入的双精度数组。
off
- 起始位置在
d
内写。
len
- 要阅读的最大数量为
double
。
IndexOutOfBoundsException
- 如果
off
为负数,则
len
为负数,或
off + len
大于
d.length
。
NullPointerException
- 如果
d
是
null
。
EOFException
- 如果流在读取所有字节之前到达结束。
IOException
- 如果发生I / O错误。
long getStreamPosition() throws IOException
IOException
- 如果发生I / O错误。
int getBitOffset() throws IOException
readBits
方法readBits
更新位偏移。
值为0表示最高有效位,值为7表示正在读取的字节的最低有效位。
位偏移量被设置为0时,流被第一次打开,并且通过调用复位为0至seek
, skipBytes
,或任何read
或readFully
方法。
int
其中包含0和7之间的位偏移量,包括0和7。
IOException
- 如果发生I / O错误。
setBitOffset(int)
void setBitOffset(int bitOffset) throws IOException
getStreamPosition
返回的流内的字节偏移量保持不变。
值为0表示最高有效位,值为7表示正在读取的字节的最低有效位。
bitOffset
- 所需的偏移量,为0和7之间的
int
,包括0和7。
IllegalArgumentException
- 如果
bitOffset
不在0和7之间,包括0和7。
IOException
- 如果发生I / O错误。
getBitOffset()
int readBit() throws IOException
int
返回,值为0
或1
。
位偏移前进一并减少模8。
int
包含值
0
或
1
。
EOFException
- 如果流在读取所有位之前到达结束。
IOException
- 如果发生I / O错误。
long readBits(int numBits) throws IOException
long
返回,第一位读取成为输出的最高有效位。
读通过指定的字节内开始getStreamPosition
,在由给定的位getBitOffset
。
位偏移提前numBits
并减少模8。
流的字节顺序对此方法没有影响。 该方法的返回值被构造为一次读取一个位,并且移位到返回值的右侧,如以下伪代码所示:
long accum = 0L; for (int i = 0; i < numBits; i++) { accum <<= 1; // Shift left one bit to make room accum |= readBit(); }
需要注意的是的结果readBits(32)
可因此不等于的readInt()
,如果正在使用的反向网络字节顺序(即, getByteOrder() == false
)。
如果在读取所有位之前遇到流的结尾,则抛出java.io.EOFException
。
numBits
-比特数来读取,作为
int
0至64,包括端值。
long
与最后一位读取存储在最低有效位。
IllegalArgumentException
- 如果
numBits
不在0和64之间(含)。
EOFException
- 如果流在读取所有位之前到达结束。
IOException
- 如果发生I / O错误。
long length() throws IOException
-1
。
long
包含流的长度,如果知道,否则
-1
。
IOException
- 如果发生I / O错误。
int skipBytes(int n) throws IOException
skipBytes
在界面
DataInput
n
- 包含要跳过的字节数的
int
。
int
表示跳过的字节数。
IOException
- 如果发生I / O错误。
long skipBytes(long n) throws IOException
skipBytes(int)
相同,只是允许较大的跳跃距离。
n
- 包含要跳过的字节数的
long
。
long
表示跳过的字节数。
IOException
- 如果发生I / O错误。
void seek(long pos) throws IOException
一个IndexOutOfBoundsException
如果将被抛出pos
比冲洗位置(如通过返回较小getflushedPosition
)。
寻求文件结尾是合法的; 一个java.io.EOFException
会,如果执行读取只抛出。
pos
- 一个
long
所需文件指针位置的long。
IndexOutOfBoundsException
- 如果
pos
小于冲洗位置。
IOException
- 如果发生任何其他I / O错误。
void mark()
reset
。
与标准InputStream
不同,所有ImageInputStream
都支持标记。
此外,来电mark
和reset
可以任意地嵌套。
与Reader
和InputStream
接口声明的mark
方法不同,不readLimit
readLimit参数。 在调用mark
可以读取任意数量的数据。
通过mark
和reset
的每对呼叫保存并恢复readBits
方法使用的位位置。
请注意,它是有效的为ImageReader
打电话flushBefore
作为读取操作的一部分。 因此,如果一个应用程序调用mark
传递一个流的前ImageReader
,该应用程序不应该假定标记位置将保持有效的读操作完成后。
void reset() throws IOException
mark
的时候,返回到前一个位置的流指针,包括位偏移量。
拨打reset
没有对应的呼叫mark
没有任何效果。
一个IOException
如果先前的标记位置位于流的丢弃部分将被抛出。
IOException
- 如果发生I / O错误。
void flushBefore(long pos) throws IOException
IndexOutOfBoundsException
。
调用flushBefore
可能允许实现此接口的类释放用于从流中存储数据的资源(如内存或磁盘空间)。
pos
- 一个
long
其中包含可能被刷新的流前缀的长度。
IndexOutOfBoundsException
- 如果
pos
位于流的冲洗部分或超过当前流位置。
IOException
- 如果发生I / O错误。
void flush() throws IOException
flushBefore(getStreamPosition())
。
IOException
- 如果发生I / O错误。
long getFlushedPosition()
flushBefore
。
long
。
boolean isCached()
ImageInputStream
缓存数据本身以返回true
,则返回。
为了节省高速缓存资源,应用程序可以参考这一点,以确定刷新频率或是否进行刷新。
true
如果这个
ImageInputStream
缓存数据。
isCachedMemory()
,
isCachedFile()
boolean isCachedMemory()
true
如果这ImageInputStream
缓存数据本身为了允许向后搜索,缓存保存在主内存中。
为了节省高速缓存资源,应用程序可以参考这一点,以确定刷新频率或是否进行刷新。
true
如果这
ImageInputStream
缓存数据在主内存中。
isCached()
,
isCachedFile()
boolean isCachedFile()
true
如果这ImageInputStream
高速缓存数据本身以允许向后搜索,缓存保存在临时文件中。
为了节省高速缓存资源,应用程序可以参考这一点,以确定刷新频率或是否进行刷新。
true
如果这个
ImageInputStream
缓存数据在一个临时文件。
isCached()
,
isCachedMemory()
void close() throws IOException
IOException
或错误的行为。
调用此方法可能允许实现此接口的类释放与流相关的资源,如内存,磁盘空间或文件描述符。
close
在界面
AutoCloseable
close
在界面
Closeable
IOException
- 如果发生I / O错误。