public class ByteArrayImageOutputStream
extends javax.imageio.stream.ImageOutputStreamImpl
toByteArray()
, toImageOutputStream()
and toOutputStream()
.
Closing a ByteArrayImageOutputStream
has no effect. The methods in
this class can be called after the stream has been closed without
generating an IOException
.
Modifier and Type | Field and Description |
---|---|
protected byte[] |
buf
An array of bytes that was provided
by the creator of the stream.
|
protected int |
count
The index one greater than the last valid character in the input
stream buffer.
|
Constructor and Description |
---|
ByteArrayImageOutputStream() |
ByteArrayImageOutputStream(byte[] buf) |
ByteArrayImageOutputStream(byte[] buf,
java.nio.ByteOrder byteOrder) |
ByteArrayImageOutputStream(byte[] buf,
int offset,
int length,
java.nio.ByteOrder byteOrder) |
ByteArrayImageOutputStream(java.nio.ByteOrder byteOrder) |
ByteArrayImageOutputStream(int initialCapacity) |
Modifier and Type | Method and Description |
---|---|
int |
available()
Returns the number of remaining bytes that can be read (or skipped over)
from this input stream.
|
void |
clear()
Resets the
count field of this byte array output
stream to zero, so that all currently accumulated output in the
output stream is discarded. |
void |
close()
Closing a ByteArrayInputStream has no effect.
|
byte[] |
getBuffer()
Returns the internally used byte buffer.
|
long |
getStreamPosition() |
long |
length() |
int |
read()
Reads the next byte of data from this input stream.
|
int |
read(byte[] b,
int off,
int len)
Reads up to
len bytes of data into an array of bytes
from this input stream. |
void |
seek(long pos) |
long |
skip(long n)
Skips
n bytes of input from this input stream. |
byte[] |
toByteArray()
Creates a newly allocated byte array.
|
void |
toImageOutputStream(javax.imageio.stream.ImageOutputStream out)
Writes the contents of the byte array into the specified image output
stream.
|
void |
toOutputStream(java.io.OutputStream out)
Writes the contents of the byte array into the specified output
stream.
|
void |
write(byte[] b)
Writes the specified byte array to this output stream.
|
void |
write(byte[] b,
int off,
int len)
Writes
len bytes from the specified byte array
starting at offset off to this output stream. |
void |
write(int b)
Writes the specified byte to this output stream.
|
flushBits, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
checkClosed, finalize, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, 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
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
flush, getBitOffset, getByteOrder, getFlushedPosition, 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
protected byte[] buf
buf[0]
through buf[count-1]
are the
only bytes that can ever be read from the
stream; element buf[streamPos]
is
the next byte to be read.protected int count
buf
.
It is one greater than the position of
the last byte within buf
that
can ever be read from the input stream buffer.public ByteArrayImageOutputStream()
public ByteArrayImageOutputStream(int initialCapacity)
public ByteArrayImageOutputStream(byte[] buf)
public ByteArrayImageOutputStream(byte[] buf, java.nio.ByteOrder byteOrder)
public ByteArrayImageOutputStream(byte[] buf, int offset, int length, java.nio.ByteOrder byteOrder)
public ByteArrayImageOutputStream(java.nio.ByteOrder byteOrder)
public int read() throws java.io.IOException
int
in the range
0
to 255
. If no byte is available
because the end of the stream has been reached, the value
-1
is returned.
This read
method
cannot block.
read
in interface javax.imageio.stream.ImageInputStream
read
in class javax.imageio.stream.ImageInputStreamImpl
-1
if the end of the
stream has been reached.java.io.IOException
public int read(byte[] b, int off, int len) throws java.io.IOException
len
bytes of data into an array of bytes
from this input stream.
If streamPos
equals count
,
then -1
is returned to indicate
end of file. Otherwise, the number k
of bytes read is equal to the smaller of
len
and count-streamPos
.
If k
is positive, then bytes
buf[streamPos]
through buf[streamPos+k-1]
are copied into b[off]
through
b[off+k-1]
in the manner performed
by System.arraycopy
. The
value k
is added into streamPos
and k
is returned.
This read
method cannot block.
read
in interface javax.imageio.stream.ImageInputStream
read
in class javax.imageio.stream.ImageInputStreamImpl
b
- the buffer into which the data is read.off
- the start offset in the destination array b
len
- the maximum number of bytes read.-1
if there is no more data because the end of
the stream has been reached.java.lang.NullPointerException
- If b
is null
.java.lang.IndexOutOfBoundsException
- If off
is negative,
len
is negative, or len
is greater than
b.length - off
java.io.IOException
public long skip(long n)
n
bytes of input from this input stream. Fewer
bytes might be skipped if the end of the input stream is reached.
The actual number k
of bytes to be skipped is equal to the smaller
of n
and count-streamPos
.
The value k
is added into streamPos
and k
is returned.n
- the number of bytes to be skipped.public int available()
The value returned is count - streamPos
,
which is the number of bytes remaining to be read from the input buffer.
public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in interface javax.imageio.stream.ImageInputStream
close
in class javax.imageio.stream.ImageInputStreamImpl
public long getStreamPosition() throws java.io.IOException
getStreamPosition
in interface javax.imageio.stream.ImageInputStream
getStreamPosition
in class javax.imageio.stream.ImageInputStreamImpl
java.io.IOException
public void seek(long pos) throws java.io.IOException
seek
in interface javax.imageio.stream.ImageInputStream
seek
in class javax.imageio.stream.ImageInputStreamImpl
java.io.IOException
public void write(int b) throws java.io.IOException
write
in interface java.io.DataOutput
write
in interface javax.imageio.stream.ImageOutputStream
write
in class javax.imageio.stream.ImageOutputStreamImpl
b
- the byte to be written.java.io.IOException
public void write(byte[] b) throws java.io.IOException
write
in interface java.io.DataOutput
write
in interface javax.imageio.stream.ImageOutputStream
write
in class javax.imageio.stream.ImageOutputStreamImpl
b
- the data.java.io.IOException
public void write(byte[] b, int off, int len) throws java.io.IOException
len
bytes from the specified byte array
starting at offset off
to this output stream.write
in interface java.io.DataOutput
write
in interface javax.imageio.stream.ImageOutputStream
write
in class javax.imageio.stream.ImageOutputStreamImpl
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.java.io.IOException
public void toOutputStream(java.io.OutputStream out) throws java.io.IOException
out
- java.io.IOException
public void toImageOutputStream(javax.imageio.stream.ImageOutputStream out) throws java.io.IOException
out
- java.io.IOException
public byte[] toByteArray()
ByteArrayOutputStream.size()
public byte[] getBuffer()
public long length()
length
in interface javax.imageio.stream.ImageInputStream
length
in class javax.imageio.stream.ImageInputStreamImpl
public void clear()
count
field of this byte array output
stream to zero, so that all currently accumulated output in the
output stream is discarded. The output stream can be used again,
reusing the already allocated buffer space.ByteArrayInputStream.count