public class BinaryOutputStream extends FilterOutputStream
A class that extends FilterOutputStream
by adding
the concept of little and big endian binary value encoding, and supplies functions
for writing various sized integer and floating point words.
BinaryInputStream
Modifier and Type | Field and Description |
---|---|
protected long |
byteOffset |
out
Constructor and Description |
---|
BinaryOutputStream(OutputStream o,
boolean big) |
Modifier and Type | Method and Description |
---|---|
long |
getByteOffset()
Get the byte offset where the next byte will be written.
|
boolean |
isBigEndian()
Is the stream byte order big endian ?
|
boolean |
isLittleEndian()
Is the stream byte order little endian ?
|
protected void |
localInit(boolean big) |
static void |
main(String[] arg)
For testing.
|
void |
setBigEndian()
Set the stream byte order to big endian.
|
void |
setEndian(boolean big)
Set the stream byte order to that specified.
|
void |
setLittleEndian()
Set the stream byte order to little endian.
|
void |
write(byte[] b)
Writes
b.length bytes 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. |
void |
writeDouble(double value)
Write one floating point 64 bit value.
|
void |
writeDouble(double[] f,
int len)
Write an array of floating point 64 bit values.
|
void |
writeFloat(float value)
Write one floating point 32 bit value.
|
void |
writeFloat(float[] f,
int len)
Write an array of floating point 32 bit values.
|
void |
writeSigned16(int v)
Write one signed integer 16 bit value.
|
void |
writeSigned32(long v)
Write one signed integer 32 bit value.
|
void |
writeUnsigned16(int v)
Write one unsigned integer 16 bit value.
|
void |
writeUnsigned16(short[] w,
int len)
Write an array of unsigned integer 16 bit values.
|
void |
writeUnsigned32(long v)
Write one unsigned integer 32 bit value.
|
void |
writeUnsigned8(int v)
Write one unsigned integer 8 bit value.
|
close, flush
public BinaryOutputStream(OutputStream o, boolean big)
o
- big
- public long getByteOffset()
Get the byte offset where the next byte will be written.
Will be zero at the start of the file.
protected void localInit(boolean big)
big
- public void write(byte[] b, int off, int len) throws IOException
len
bytes from the specified byte array
starting at offset off
to this output stream.
The write
method of BinaryOutputStream
calls
the corresponding multi-byte write method of one argument of the.
OutputStream
supplied in the constructor, and
overrides the default use of multiple calls to the single-byte
write method that is the behavior of FilterOutputStream
.
The exceptions thrown are whatever is thrown by the OutputStream
write method.
write
in class FilterOutputStream
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.IOException
- if an I/O error occurs.public void write(int b) throws IOException
byte
to this output stream.write
in class FilterOutputStream
b
- the byte
.IOException
- if an I/O error occurs.public void write(byte[] b) throws IOException
b.length
bytes to this output stream.write
in class FilterOutputStream
b
- the data to be written.IOException
- if an I/O error occurs.public boolean isBigEndian()
Is the stream byte order big endian ?
public boolean isLittleEndian()
Is the stream byte order little endian ?
public void setBigEndian()
Set the stream byte order to big endian.
public void setLittleEndian()
Set the stream byte order to little endian.
public void setEndian(boolean big)
Set the stream byte order to that specified.
big
- true if to set to big endian, false if little endianpublic final void writeUnsigned8(int v) throws IOException
Write one unsigned integer 8 bit value.
v
- an int containing an unsigned valueIOException
public final void writeUnsigned16(int v) throws IOException
Write one unsigned integer 16 bit value.
v
- an int containing an unsigned valueIOException
public final void writeSigned16(int v) throws IOException
Write one signed integer 16 bit value.
v
- an int containing an signed valueIOException
public final void writeUnsigned32(long v) throws IOException
Write one unsigned integer 32 bit value.
v
- a long containing an unsigned valueIOException
public final void writeSigned32(long v) throws IOException
Write one signed integer 32 bit value.
v
- a long containing an signed valueIOException
public final void writeFloat(float value) throws IOException
Write one floating point 32 bit value.
value
- a float valueIOException
public final void writeDouble(double value) throws IOException
Write one floating point 64 bit value.
value
- a double valueIOException
public final void writeUnsigned16(short[] w, int len) throws IOException
Write an array of unsigned integer 16 bit values.
w
- an array of integers to writelen
- the number of 16 bit values to writeIOException
public final void writeFloat(float[] f, int len) throws IOException
Write an array of floating point 32 bit values.
f
- an array of floats to writelen
- the number of values to writeIOException
public final void writeDouble(double[] f, int len) throws IOException
Write an array of floating point 64 bit values.
f
- an array of floats to writelen
- the number of values to writeIOException
public static void main(String[] arg)
For testing.
arg
-