- java.lang.Object
-
- javax.imageio.stream.ImageInputStreamImpl
-
- javax.imageio.stream.ImageOutputStreamImpl
-
- javax.imageio.stream.FileImageOutputStream
-
- All Implemented Interfaces:
-
Closeable
,DataInput
,DataOutput
,AutoCloseable
,ImageInputStream
,ImageOutputStream
public class FileImageOutputStream extends ImageOutputStreamImpl
一个实现ImageOutputStream
将其输出直接写入一个File
或RandomAccessFile
。
-
-
Field Summary
-
Fields inherited from class javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
-
-
构造方法摘要
构造方法 Constructor 描述 FileImageOutputStream(File f)
构造一个FileImageOutputStream
,它将写入给定的File
。FileImageOutputStream(RandomAccessFile raf)
构造一个FileImageOutputStream
,它将写入给定的RandomAccessFile
。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 void
close()
关闭流。protected void
finalize()
已过时。finalize
方法已被弃用。 为了执行清理,覆盖finalize
子类应被修改为使用替代的清理机制,并删除覆盖的finalize
方法。 当覆盖finalize
方法时,其实现必须明确确保按super.finalize()
中所述调用super.finalize() 。 有关迁移选项的更多信息,请参阅Object.finalize()
的规范。long
length()
返回-1L
以表示该流具有未知长度。int
read()
从流中读取一个字节,并将其作为int
在0到255之间返回。int
read(byte[] b, int off, int len)
从流中读取最多len
个字节,并将其存储到b
,索引号为off
。void
seek(long pos)
设置当前流位置,并将位偏移重置为0。void
write(byte[] b, int off, int len)
在当前位置写入一串字节。void
write(int b)
将当前位置的单个字节写入流。-
Methods inherited from interface javax.imageio.stream.ImageInputStream
flush, 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
-
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
-
Methods inherited from interface javax.imageio.stream.ImageOutputStream
flushBefore
-
Methods inherited from class javax.imageio.stream.ImageOutputStreamImpl
flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
-
-
-
-
构造方法详细信息
-
FileImageOutputStream
public FileImageOutputStream(File f) throws FileNotFoundException, IOException
构造一个FileImageOutputStream
,它将写入给定的File
。- 参数
-
f
- aFile
要写信。 - 异常
-
IllegalArgumentException
- 如果f
是null
。 -
SecurityException
- 如果安全管理器存在并且不允许对该文件的写入访问。 -
FileNotFoundException
- 如果f
不表示常规文件,或者由于任何其他原因无法打开阅读和写入。 -
IOException
- 如果发生I / O错误。
-
FileImageOutputStream
public FileImageOutputStream(RandomAccessFile raf)
构造一个FileImageOutputStream
,它将写入给定的RandomAccessFile
。- 参数
-
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错误。
-
write
public void write(int b) throws IOException
描述从接口ImageOutputStream
复制将当前位置的单个字节写入流。 忽略了b
的24个高位。如果流内的位偏移量不为零,则当前字节的剩余部分用0填充并首先写出。 写入后位偏移将为0。 实施者可以使用
flushBits
的方法ImageOutputStreamImpl
来保证这一点。- Specified by:
-
write
在接口DataOutput
- Specified by:
-
write
接口ImageOutputStream
- Specified by:
-
write
在ImageOutputStreamImpl
- 参数
-
b
- 要写入低8位的int
。 - 异常
-
IOException
- 如果发生I / O错误。
-
write
public void write(byte[] b, int off, int len) throws IOException
说明从界面ImageOutputStream
复制在当前位置写入一串字节。 如果len
为0,len
写任何内容。 字节b[off]
先写,然后字节b[off + 1]
等等。如果流内的位偏移量不为零,则当前字节的剩余部分用0填充并首先写出。 写入后位偏移将为0。 实施者可以使用
flushBits
的方法ImageOutputStreamImpl
来保证这一点。- Specified by:
-
write
在接口DataOutput
- Specified by:
-
write
接口ImageOutputStream
- Specified by:
-
write
在ImageOutputStreamImpl
- 参数
-
b
- 要写入的byte
的数组。 -
off
- 数据中的起始偏移量。 -
len
-byte
的len
的数量。 - 异常
-
IOException
- 如果发生I / O错误。
-
length
public long length()
描述从类复制:ImageInputStreamImpl
返回-1L
以表示该流具有未知长度。 子类必须覆盖此方法以提供实际的长度信息。- Specified by:
-
length
在接口ImageInputStream
- 重写:
-
length
在ImageInputStreamImpl
- 结果
- -1L表示未知长度。
-
seek
public void seek(long pos) throws IOException
设置当前流位置,并将位偏移量重置为0.找到文件末尾是合法的; 一个EOFException
只有在执行读取时才会被抛出。 在执行写入之前,文件长度不会增加。- Specified by:
-
seek
在接口ImageInputStream
- 重写:
-
seek
在ImageInputStreamImpl
- 参数
-
pos
- 包含所需文件指针位置的long
。 - 异常
-
IndexOutOfBoundsException
- 如果pos
小于冲洗位置。 -
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
-
-