- java.lang.Object
-
- javax.imageio.stream.ImageInputStreamImpl
-
- javax.imageio.stream.FileImageInputStream
-
- All Implemented Interfaces:
-
Closeable,DataInput,AutoCloseable,ImageInputStream
public class FileImageInputStream extends ImageInputStreamImpl
一个ImageInputStream一个实现,从File或RandomAccessFile获取它的输入。 假设文件内容在对象的生存期内是稳定的。
-
-
Field Summary
-
Fields inherited from class javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
-
-
构造方法摘要
构造方法 Constructor 描述 FileImageInputStream(File f)构造一个FileImageInputStream,它将从给定的File读取。FileImageInputStream(RandomAccessFile raf)构造一个FileImageInputStream,将从给定的RandomAccessFile读取。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 voidclose()关闭流。protected voidfinalize()已过时。finalize方法已被弃用。 为了执行清理,覆盖finalize子类应被修改为使用替代的清理机制,并删除覆盖的finalize方法。 当覆盖finalize方法时,其实现必须明确确保按照super.finalize()中所述调用super.finalize() 。 有关迁移选项的更多信息,请参阅Object.finalize()的规范。longlength()返回底层文件的长度,如果未知,则返回-1。intread()从流中读取一个字节,并将其作为int和255之间的int返回。intread(byte[] b, int off, int len)读取到len从流字节,并将其存储到b开始于索引off。voidseek(long pos)将当前流位置设置为所需位置。-
Methods inherited from class javax.imageio.stream.ImageInputStreamImpl
checkClosed, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, 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, setBitOffset, setByteOrder, skipBytes, skipBytes
-
-
-
-
构造方法详细信息
-
FileImageInputStream
public FileImageInputStream(File f) throws FileNotFoundException, IOException
构造一个FileImageInputStream,将从给定的File读取。文件内容不得在此对象构建时间与上一次调用read方法的时间之间发生变化。
- 参数
-
f- aFile要阅读。 - 异常
-
IllegalArgumentException- 如果f是null。 -
SecurityException- 如果安全管理器存在并且不允许对该文件的读取访问。 -
FileNotFoundException- 如果f是一个目录或由于任何其他原因无法打开阅读。 -
IOException- 如果发生I / O错误。
-
FileImageInputStream
public FileImageInputStream(RandomAccessFile raf)
构造一个FileImageInputStream,它将从给定的RandomAccessFile读取。文件内容不得在此对象构建时间与上一次调用read方法的时间之间发生变化。
- 参数
-
raf- aRandomAccessFile要阅读。 - 异常
-
IllegalArgumentException- 如果raf是null。
-
-
方法详细信息
-
read
public int read() throws IOException描述从类复制:ImageInputStreamImpl从流中读取一个字节,并将其作为int返回,从0到255之间。如果达到EOF,则返回-1。子类必须为此方法提供一个实现。 子类实现应该在退出之前更新流位置。
在发生读取之前,流内的位偏移必须重置为零。
- Specified by:
-
read在接口ImageInputStream - Specified by:
-
read在ImageInputStreamImpl - 结果
-
流中下一个字节的值,如果达到EOF,
-1。 - 异常
-
IOException- 如果流已关闭。
-
read
public int read(byte[] b, int off, int len) throws IOException描述从类别复制:ImageInputStreamImpl从流中读取最多len个字节,并将其存储到b从索引off开始。 如果没有字节可以读取,因为已经到达流的末尾,则返回-1。在发生读取之前,流内的位偏移必须重置为零。
子类必须为此方法提供一个实现。 子类实现应该在退出之前更新流位置。
- Specified by:
-
read接口ImageInputStream - Specified by:
-
read在ImageInputStreamImpl - 参数
-
b- 要写入的字节数组。 -
off- 起始位置在b内写。 -
len- 要读取的最大字节数。 - 结果
-
实际读取的字节数,或
-1表示EOF。 - 异常
-
IOException- 如果发生I / O错误。
-
length
public long length()
返回底层文件的长度,如果未知,则返回-1。- Specified by:
-
length在接口ImageInputStream - 重写:
-
length在ImageInputStreamImpl - 结果
-
文件长度为
long,或-1。
-
seek
public void seek(long pos) throws IOException说明从界面ImageInputStream复制将当前流位置设置为所需位置。 下一次读取将发生在此位置。 位偏移设置为0。一个
IndexOutOfBoundsException如果将被抛出pos比冲洗位置(如通过返回较小getflushedPosition)。寻求文件结尾是合法的; 一个
java.io.EOFException只有在执行读取时才会被抛出。- Specified by:
-
seek在接口ImageInputStream - 重写:
-
seekImageInputStreamImpl - 参数
-
pos- 包含所需文件指针位置的long。 - 异常
-
IOException- 如果发生任何其他I / O错误。
-
close
public void close() throws IOException描述从接口ImageInputStream复制关闭流。 尝试访问已关闭的流可能会导致IOException或不正确的行为。 调用此方法可能允许实现此接口的类释放与流相关联的资源,如内存,磁盘空间或文件描述符。- Specified by:
-
close在接口AutoCloseable - Specified by:
-
close在接口Closeable - Specified by:
-
close接口ImageInputStream - 重写:
-
close在ImageInputStreamImpl - 异常
-
IOException- 如果发生I / O错误。
-
finalize
@Deprecated(since="9") protected void finalize() throws Throwable
已过时。finalize方法已被弃用。 为了执行清理而覆盖finalize子类应该修改为使用备用的清理机制,并删除覆盖的finalize方法。 当覆盖finalize方法时,其实现必须明确确保按照super.finalize()中所述调用super.finalize() 。 有关迁移选项的更多信息,请参阅Object.finalize()的规范。在垃圾收集之前完成此对象。 调用close方法来关闭任何打开的输入源。 不应该从应用程序代码调用此方法。- 重写:
-
finalize在ImageInputStreamImpl - 异常
-
Throwable- 如果在超类最终化期间发生错误。 - 另请参见:
-
WeakReference,PhantomReference
-
-