Top Description Fields Constructors Methods
org.hsqldb.lib

public Class HsqlByteArrayOutputStream

extends OutputStream
implements DataOutput
Class Inheritance
All Implemented Interfaces
java.io.DataOutput
Known Direct Subclasses
org.hsqldb.rowio.RowOutputBase
Imports
java.io.DataOutput, .EOFException, .IOException, .InputStream, .OutputStream, .Reader, .UTFDataFormatException, .UnsupportedEncodingException

This class is a replacement for both java.io.ByteArrayOuputStream (without synchronization) and java.io.DataOutputStream
Author
Fred Toussi (fredt@users dot sourceforge.net)
Since
1.7.0
Version
2.5.1

Field Summary

Modifier and TypeField and Description
protected byte[]
protected int

Constructor Summary

AccessConstructor and Description
public
public
public
public
HsqlByteArrayOutputStream(InputStream
InputStream
input
,
int
int
length
)

Constructor from an InputStream limits size to the length argument.

public

Method Summary

Modifier and TypeMethod and Description
public void
close()

Overrides java.io.OutputStream.close.

Implements java.io.Closeable.close.

Closes this output stream and releases any system resources associated with this stream.

public void
ensureRoom(int extra)

public void
fill(int b, int len)

public void
flush()

Overrides java.io.OutputStream.flush.

Implements java.io.Flushable.flush.

does nothing

public byte[]
public void
public void
reset(int newSize)

public void
reset(byte[] buffer)

public void
setPosition(int newPos)

public void
setSize(int
int
size
)

size must fit in buffer

public final int
size()

public byte[]
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public String
public void
write(int b)

Implements abstract java.io.OutputStream.write.

Implements java.io.DataOutput.write.

Writes to the output stream the eight low-order bits of the argument b.

public void
write(byte[] b)

Overrides java.io.OutputStream.write.

Implements java.io.DataOutput.write.

Writes to the output stream all the bytes in array b.

public void
write(byte[] b, int off, int len)

Overrides java.io.OutputStream.write.

Implements java.io.DataOutput.write.

Writes len bytes from array b, in order, to the output stream.

public int
write(InputStream input, int countLimit)

public int
write(Reader input, int countLimit)

public void
write(char[] c, int off, int len)

public void
writeBoolean(boolean v)

Implements java.io.DataOutput.writeBoolean.

Writes a boolean value to this output stream.

public void
writeByte(int v)

Implements java.io.DataOutput.writeByte.

Writes to the output stream the eight low-order bits of the argument v.

public void
writeBytes(String s)

Implements java.io.DataOutput.writeBytes.

Writes a string to the output stream.

public void
writeChar(int v)

Implements java.io.DataOutput.writeChar.

Writes a char value, which is comprised of two bytes, to the output stream.

public void
writeChars(String s)

Implements java.io.DataOutput.writeChars.

Writes every character in the string s, to the output stream, in order, two bytes per character.

public void
writeChars(char[] charArray)

public final void
writeDouble(double v)

Implements java.io.DataOutput.writeDouble.

Writes a double value, which is comprised of eight bytes, to the output stream.

public final void
writeFloat(float v)

Implements java.io.DataOutput.writeFloat.

Writes a float value, which is comprised of four bytes, to the output stream.

public void
writeInt(int v)

Implements java.io.DataOutput.writeInt.

Writes an int value, which is comprised of four bytes, to the output stream.

public void
writeLong(long v)

Implements java.io.DataOutput.writeLong.

Writes a long value, which is comprised of eight bytes, to the output stream.

public void
writeNoCheck(int b)

public void
writeShort(int v)

Implements java.io.DataOutput.writeShort.

Writes two bytes to the output stream to represent the value of the argument.

public void
public void
writeUTF(String str)

Implements java.io.DataOutput.writeUTF.

Writes two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the string s.

Inherited from java.io.OutputStream:
nullOutputStream

Field Detail

bufferback to summary
protected byte[] buffer
countback to summary
protected int count

Constructor Detail

HsqlByteArrayOutputStreamback to summary
public HsqlByteArrayOutputStream()
HsqlByteArrayOutputStreamback to summary
public HsqlByteArrayOutputStream(int size)
HsqlByteArrayOutputStreamback to summary
public HsqlByteArrayOutputStream(byte[] buffer)
HsqlByteArrayOutputStreamback to summary
public HsqlByteArrayOutputStream(InputStream input, int length) throws IOException

Constructor from an InputStream limits size to the length argument. Throws if the actual length of the InputStream is smaller than length value.

Parameters
input:InputStream

InputStream

length:int

int

Exceptions
IOException:
if an error occurs
HsqlByteArrayOutputStreamback to summary
public HsqlByteArrayOutputStream(InputStream input) throws IOException

Method Detail

closeback to summary
public void close()

Overrides java.io.OutputStream.close.

Implements java.io.Closeable.close.

Doc from java.io.OutputStream.close.

Closes this output stream and releases any system resources associated with this stream. The general contract of close is that it closes the output stream. A closed stream cannot perform output operations and cannot be reopened.

ensureRoomback to summary
public void ensureRoom(int extra)
fillback to summary
public void fill(int b, int len)
flushback to summary
public void flush()

Overrides java.io.OutputStream.flush.

Implements java.io.Flushable.flush.

does nothing

getBufferback to summary
public byte[] getBuffer()
resetback to summary
public void reset()
resetback to summary
public void reset(int newSize)
resetback to summary
public void reset(byte[] buffer)
setPositionback to summary
public void setPosition(int newPos)
setSizeback to summary
public void setSize(int size)

size must fit in buffer

Parameters
size:int

int

sizeback to summary
public final int size()
toByteArrayback to summary
public byte[] toByteArray()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

toStringback to summary
public String toString(String enc) throws UnsupportedEncodingException
writeback to summary
public void write(int b)

Implements abstract java.io.OutputStream.write.

Implements java.io.DataOutput.write.

Doc from java.io.DataOutput.write.

Writes to the output stream the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

writeback to summary
public void write(byte[] b)

Overrides java.io.OutputStream.write.

Implements java.io.DataOutput.write.

Doc from java.io.DataOutput.write.

Writes to the output stream all the bytes in array b. If b is null, a NullPointerException is thrown. If b.length is zero, then no bytes are written. Otherwise, the byte b[0] is written first, then b[1], and so on; the last byte written is b[b.length-1].

writeback to summary
public void write(byte[] b, int off, int len)

Overrides java.io.OutputStream.write.

Implements java.io.DataOutput.write.

Doc from java.io.DataOutput.write.

Writes len bytes from array b, in order, to the output stream. If b is null, a NullPointerException is thrown. If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown. If len is zero, then no bytes are written. Otherwise, the byte b[off] is written first, then b[off+1], and so on; the last byte written is b[off+len-1].

writeback to summary
public int write(InputStream input, int countLimit) throws IOException
writeback to summary
public int write(Reader input, int countLimit) throws IOException
writeback to summary
public void write(char[] c, int off, int len)
writeBooleanback to summary
public void writeBoolean(boolean v)

Implements java.io.DataOutput.writeBoolean.

Doc from java.io.DataOutput.writeBoolean.

Writes a boolean value to this output stream. If the argument v is true, the value (byte)1 is written; if v is false, the value (byte)0 is written. The byte written by this method may be read by the readBoolean method of interface DataInput, which will then return a boolean equal to v.

writeByteback to summary
public void writeByte(int v)

Implements java.io.DataOutput.writeByte.

Doc from java.io.DataOutput.writeByte.

Writes to the output stream the eight low-order bits of the argument v. The 24 high-order bits of v are ignored. (This means that writeByte does exactly the same thing as write for an integer argument.) The byte written by this method may be read by the readByte method of interface DataInput, which will then return a byte equal to (byte)v.

writeBytesback to summary
public void writeBytes(String s)

Implements java.io.DataOutput.writeBytes.

Doc from java.io.DataOutput.writeBytes.

Writes a string to the output stream. For every character in the string s, taken in order, one byte is written to the output stream. If s is null, a NullPointerException is thrown.

If s.length is zero, then no bytes are written. Otherwise, the character s[0] is written first, then s[1], and so on; the last character written is s[s.length-1]. For each character, one byte is written, the low-order byte, in exactly the manner of the writeByte method . The high-order eight bits of each character in the string are ignored.

writeCharback to summary
public void writeChar(int v)

Implements java.io.DataOutput.writeChar.

Doc from java.io.DataOutput.writeChar.

Writes a char value, which is comprised of two bytes, to the output stream. The byte values to be written, in the order shown, are:

(byte)(0xff & (v >> 8))
(byte)(0xff & v)

The bytes written by this method may be read by the readChar method of interface DataInput, which will then return a char equal to (char)v.

writeCharsback to summary
public void writeChars(String s)

Implements java.io.DataOutput.writeChars.

Doc from java.io.DataOutput.writeChars.

Writes every character in the string s, to the output stream, in order, two bytes per character. If s is null, a NullPointerException is thrown. If s.length is zero, then no characters are written. Otherwise, the character s[0] is written first, then s[1], and so on; the last character written is s[s.length-1]. For each character, two bytes are actually written, high-order byte first, in exactly the manner of the writeChar method.

writeCharsback to summary
public void writeChars(char[] charArray)
writeDoubleback to summary
public final void writeDouble(double v)

Implements java.io.DataOutput.writeDouble.

Doc from java.io.DataOutput.writeDouble.

Writes a double value, which is comprised of eight bytes, to the output stream. It does this as if it first converts this double value to a long in exactly the manner of the Double.doubleToLongBits method and then writes the long value in exactly the manner of the writeLong method. The bytes written by this method may be read by the readDouble method of interface DataInput, which will then return a double equal to v.

writeFloatback to summary
public final void writeFloat(float v)

Implements java.io.DataOutput.writeFloat.

Doc from java.io.DataOutput.writeFloat.

Writes a float value, which is comprised of four bytes, to the output stream. It does this as if it first converts this float value to an int in exactly the manner of the Float.floatToIntBits method and then writes the int value in exactly the manner of the writeInt method. The bytes written by this method may be read by the readFloat method of interface DataInput, which will then return a float equal to v.

writeIntback to summary
public void writeInt(int v)

Implements java.io.DataOutput.writeInt.

Doc from java.io.DataOutput.writeInt.

Writes an int value, which is comprised of four bytes, to the output stream. The byte values to be written, in the order shown, are:

(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >>  8))
(byte)(0xff & v)

The bytes written by this method may be read by the readInt method of interface DataInput, which will then return an int equal to v.

writeLongback to summary
public void writeLong(long v)

Implements java.io.DataOutput.writeLong.

Doc from java.io.DataOutput.writeLong.

Writes a long value, which is comprised of eight bytes, to the output stream. The byte values to be written, in the order shown, are:

(byte)(0xff & (v >> 56))
(byte)(0xff & (v >> 48))
(byte)(0xff & (v >> 40))
(byte)(0xff & (v >> 32))
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >>  8))
(byte)(0xff & v)

The bytes written by this method may be read by the readLong method of interface DataInput, which will then return a long equal to v.

writeNoCheckback to summary
public void writeNoCheck(int b)
writeShortback to summary
public void writeShort(int v)

Implements java.io.DataOutput.writeShort.

Doc from java.io.DataOutput.writeShort.

Writes two bytes to the output stream to represent the value of the argument. The byte values to be written, in the order shown, are:

(byte)(0xff & (v >> 8))
(byte)(0xff & v)

The bytes written by this method may be read by the readShort method of interface DataInput, which will then return a short equal to (short)v.

writeToback to summary
public void writeTo(OutputStream out) throws IOException
writeUTFback to summary
public void writeUTF(String str) throws IOException

Implements java.io.DataOutput.writeUTF.

Doc from java.io.DataOutput.writeUTF.

Writes two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the string s. If s is null, a NullPointerException is thrown. Each character in the string s is converted to a group of one, two, or three bytes, depending on the value of the character.

If a character c is in the range \u0001 through \u007f, it is represented by one byte:

(byte)c 

If a character c is \u0000 or is in the range \u0080 through \u07ff, then it is represented by two bytes, to be written in the order shown:

(byte)(0xc0 | (0x1f & (c >> 6)))
(byte)(0x80 | (0x3f & c))

If a character c is in the range \u0800 through uffff, then it is represented by three bytes, to be written in the order shown:

(byte)(0xe0 | (0x0f & (c >> 12)))
(byte)(0x80 | (0x3f & (c >>  6)))
(byte)(0x80 | (0x3f & c))

First, the total number of bytes needed to represent all the characters of s is calculated. If this number is larger than 65535, then a UTFDataFormatException is thrown. Otherwise, this length is written to the output stream in exactly the manner of the writeShort method; after this, the one-, two-, or three-byte representation of each character in the string s is written.

The bytes written by this method may be read by the readUTF method of interface DataInput, which will then return a String equal to s.

Exceptions
IOException:
if an I/O error occurs.