- 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
An implementation ofImageOutputStreamthat writes its output directly to aFileorRandomAccessFile.
-
-
Field Summary
-
Fields inherited from class javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
-
-
Constructor Summary
Constructors Constructor Description FileImageOutputStream(File f)Constructs aFileImageOutputStreamthat will write to a givenFile.FileImageOutputStream(RandomAccessFile raf)Constructs aFileImageOutputStreamthat will write to a givenRandomAccessFile.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()Closes the stream.protected voidfinalize()Deprecated.Thefinalizemethod has been deprecated. Subclasses that overridefinalizein order to perform cleanup should be modified to use alternative cleanup mechanisms and to remove the overridingfinalizemethod. When overriding thefinalizemethod, its implementation must explicitly ensure thatsuper.finalize()is invoked as described inObject.finalize(). See the specification forObject.finalize()for further information about migration options.longlength()Returns-1Lto indicate that the stream has unknown length.intread()Reads a single byte from the stream and returns it as anintbetween 0 and 255.intread(byte[] b, int off, int len)Reads up tolenbytes from the stream, and stores them intobstarting at indexoff.voidseek(long pos)Sets the current stream position and resets the bit offset to 0.voidwrite(byte[] b, int off, int len)Writes a sequence of bytes to the stream at the current position.voidwrite(int b)Writes a single byte to the stream at the current position.-
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
-
-
-
-
Constructor Detail
-
FileImageOutputStream
public FileImageOutputStream(File f) throws FileNotFoundException, IOException
Constructs aFileImageOutputStreamthat will write to a givenFile.- Parameters:
f- aFileto write to.- Throws:
IllegalArgumentException- iffisnull.SecurityException- if a security manager exists and does not allow write access to the file.FileNotFoundException- iffdoes not denote a regular file or it cannot be opened for reading and writing for any other reason.IOException- if an I/O error occurs.
-
FileImageOutputStream
public FileImageOutputStream(RandomAccessFile raf)
Constructs aFileImageOutputStreamthat will write to a givenRandomAccessFile.- Parameters:
raf- aRandomAccessFileto write to.- Throws:
IllegalArgumentException- ifrafisnull.
-
-
Method Detail
-
read
public int read() throws IOExceptionDescription copied from class:ImageInputStreamImplReads a single byte from the stream and returns it as anintbetween 0 and 255. If EOF is reached,-1is returned.Subclasses must provide an implementation for this method. The subclass implementation should update the stream position before exiting.
The bit offset within the stream must be reset to zero before the read occurs.
- Specified by:
readin interfaceImageInputStream- Specified by:
readin classImageInputStreamImpl- Returns:
- the value of the next byte in the stream, or
-1if EOF is reached. - Throws:
IOException- if the stream has been closed.
-
read
public int read(byte[] b, int off, int len) throws IOExceptionDescription copied from class:ImageInputStreamImplReads up tolenbytes from the stream, and stores them intobstarting at indexoff. If no bytes can be read because the end of the stream has been reached,-1is returned.The bit offset within the stream must be reset to zero before the read occurs.
Subclasses must provide an implementation for this method. The subclass implementation should update the stream position before exiting.
- Specified by:
readin interfaceImageInputStream- Specified by:
readin classImageInputStreamImpl- Parameters:
b- an array of bytes to be written to.off- the starting position withinbto write to.len- the maximum number of bytes to read.- Returns:
- the number of bytes actually read, or
-1to indicate EOF. - Throws:
IOException- if an I/O error occurs.
-
write
public void write(int b) throws IOExceptionDescription copied from interface:ImageOutputStreamWrites a single byte to the stream at the current position. The 24 high-order bits ofbare ignored.If the bit offset within the stream is non-zero, the remainder of the current byte is padded with 0s and written out first. The bit offset will be 0 after the write. Implementers can use the
flushBitsmethod ofImageOutputStreamImplto guarantee this.- Specified by:
writein interfaceDataOutput- Specified by:
writein interfaceImageOutputStream- Specified by:
writein classImageOutputStreamImpl- Parameters:
b- anintwhose lower 8 bits are to be written.- Throws:
IOException- if an I/O error occurs.
-
write
public void write(byte[] b, int off, int len) throws IOExceptionDescription copied from interface:ImageOutputStreamWrites a sequence of bytes to the stream at the current position. Iflenis 0, nothing is written. The byteb[off]is written first, then the byteb[off + 1], and so on.If the bit offset within the stream is non-zero, the remainder of the current byte is padded with 0s and written out first. The bit offset will be 0 after the write. Implementers can use the
flushBitsmethod ofImageOutputStreamImplto guarantee this.- Specified by:
writein interfaceDataOutput- Specified by:
writein interfaceImageOutputStream- Specified by:
writein classImageOutputStreamImpl- Parameters:
b- an array ofbytes to be written.off- the start offset in the data.len- the number ofbytes to write.- Throws:
IOException- if an I/O error occurs.
-
length
public long length()
Description copied from class:ImageInputStreamImplReturns-1Lto indicate that the stream has unknown length. Subclasses must override this method to provide actual length information.- Specified by:
lengthin interfaceImageInputStream- Overrides:
lengthin classImageInputStreamImpl- Returns:
- -1L to indicate unknown length.
-
seek
public void seek(long pos) throws IOExceptionSets the current stream position and resets the bit offset to 0. It is legal to seeking past the end of the file; anEOFExceptionwill be thrown only if a read is performed. The file length will not be increased until a write is performed.- Specified by:
seekin interfaceImageInputStream- Overrides:
seekin classImageInputStreamImpl- Parameters:
pos- alongcontaining the desired file pointer position.- Throws:
IndexOutOfBoundsException- ifposis smaller than the flushed position.IOException- if any other I/O error occurs.
-
close
public void close() throws IOExceptionDescription copied from interface:ImageInputStreamCloses the stream. Attempts to access a stream that has been closed may result inIOExceptions or incorrect behavior. Calling this method may allow classes implementing this interface to release resources associated with the stream such as memory, disk space, or file descriptors.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceImageInputStream- Overrides:
closein classImageInputStreamImpl- Throws:
IOException- if an I/O error occurs.
-
finalize
@Deprecated(since="9") protected void finalize() throws Throwable
Deprecated. Thefinalizemethod has been deprecated. Subclasses that overridefinalizein order to perform cleanup should be modified to use alternative cleanup mechanisms and to remove the overridingfinalizemethod. When overriding thefinalizemethod, its implementation must explicitly ensure thatsuper.finalize()is invoked as described inObject.finalize(). See the specification forObject.finalize()for further information about migration options.Finalizes this object prior to garbage collection. Theclosemethod is called to close any open input source. This method should not be called from application code.- Overrides:
finalizein classImageInputStreamImpl- Throws:
Throwable- if an error occurs during superclass finalization.- See Also:
WeakReference,PhantomReference
-
-