Class LittleEndianDataOutputStream
-
-
-
- com.google.common.io.LittleEndianDataOutputStream
-
-
-
- All Implemented Interfaces:
,
,
,
@Beta @GwtIncompatible public final class LittleEndianDataOutputStream extends implements
An implementation of that uses little-endian byte ordering for writingchar
,short
,int
,float
,double
, andlong
values.Note: This class intentionally violates the specification of its supertype
DataOutput
, which explicitly requires big-endian byte order.- Since:
- 8.0
- Author:
- Chris Nokleberg, Keith Bottner
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
close()
Closes this output stream and releases any system resources associated with the stream.void
write(byte[] b, int off, int len)
Writeslen
bytes from the specifiedbyte
array starting at offsetoff
to this output stream.void
writeBoolean(boolean v)
Writes aboolean
value to this output stream.void
writeByte(int v)
Writes to the output stream the eight low- order bits of the argumentv
.void
s)
Deprecated.The semantics ofwriteBytes(String s)
are considered dangerous.void
writeChar(int v)
Writes a char as specified by , except using little-endian byte order.void
s)
Writes aString
as specified by , except each character is written using little-endian byte order.void
writeDouble(double v)
Writes adouble
as specified by , except using little-endian byte order.void
writeFloat(float v)
Writes afloat
as specified by , except using little-endian byte order.void
writeInt(int v)
Writes anint
as specified by , except using little-endian byte order.void
writeLong(long v)
Writes along
as specified by , except using little-endian byte order.void
writeShort(int v)
Writes ashort
as specified by , except using little-endian byte order.void
str)
Writes two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the strings
.
-
-
-
Method Detail
-
write
public void write(byte[] b, int off, int len) throws
Description copied from class:Writeslen
bytes from the specifiedbyte
array starting at offsetoff
to this output stream.The
write
method ofFilterOutputStream
calls thewrite
method of one argument on eachbyte
to output.Note that this method does not call the
write
method of its underlying output stream with the same arguments. Subclasses ofFilterOutputStream
should provide a more efficient implementation of this method.- Specified by:
in interface
- Overrides:
in class
- Parameters:
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.- Throws:
- if an I/O error occurs.
- See Also:
-
writeBoolean
public void writeBoolean(boolean v) throws
Description copied from interface:Writes aboolean
value to this output stream. If the argumentv
istrue
, the value(byte)1
is written; ifv
isfalse
, the value(byte)0
is written. The byte written by this method may be read by thereadBoolean
method of interfaceDataInput
, which will then return aboolean
equal tov
.- Specified by:
in interface
- Parameters:
v
- the boolean to be written.- Throws:
- if an I/O error occurs.
-
writeByte
public void writeByte(int v) throws
Description copied from interface:Writes to the output stream the eight low- order bits of the argumentv
. The 24 high-order bits ofv
are ignored. (This means thatwriteByte
does exactly the same thing aswrite
for an integer argument.) The byte written by this method may be read by thereadByte
method of interfaceDataInput
, which will then return abyte
equal to(byte)v
.- Specified by:
in interface
- Parameters:
v
- the byte value to be written.- Throws:
- if an I/O error occurs.
-
writeBytes
public void s) throws
Deprecated.The semantics ofwriteBytes(String s)
are considered dangerous. Please usewriteUTF(String s)
,writeChars(String s)
or another write method instead.Description copied from interface:Writes a string to the output stream. For every character in the strings
, taken in order, one byte is written to the output stream. Ifs
isnull
, aNullPointerException
is thrown.If
s.length
is zero, then no bytes are written. Otherwise, the characters[0]
is written first, thens[1]
, and so on; the last character written iss[s.length-1]
. For each character, one byte is written, the low-order byte, in exactly the manner of thewriteByte
method . The high-order eight bits of each character in the string are ignored.- Specified by:
in interface
- Parameters:
s
- the string of bytes to be written.- Throws:
- if an I/O error occurs.
-
writeChar
public void writeChar(int v) throws
Writes a char as specified by , except using little-endian byte order.- Specified by:
in interface
- Parameters:
v
- thechar
value to be written.- Throws:
- if an I/O error occurs
-
writeChars
public void s) throws
Writes aString
as specified by , except each character is written using little-endian byte order.- Specified by:
in interface
- Parameters:
s
- the string value to be written.- Throws:
- if an I/O error occurs
-
writeDouble
public void writeDouble(double v) throws
Writes adouble
as specified by , except using little-endian byte order.- Specified by:
in interface
- Parameters:
v
- thedouble
value to be written.- Throws:
- if an I/O error occurs
-
writeFloat
public void writeFloat(float v) throws
Writes afloat
as specified by , except using little-endian byte order.- Specified by:
in interface
- Parameters:
v
- thefloat
value to be written.- Throws:
- if an I/O error occurs
-
writeInt
public void writeInt(int v) throws
Writes anint
as specified by , except using little-endian byte order.- Specified by:
in interface
- Parameters:
v
- theint
value to be written.- Throws:
- if an I/O error occurs
-
writeLong
public void writeLong(long v) throws
Writes along
as specified by , except using little-endian byte order.- Specified by:
in interface
- Parameters:
v
- thelong
value to be written.- Throws:
- if an I/O error occurs
-
writeShort
public void writeShort(int v) throws
Writes ashort
as specified by , except using little-endian byte order.- Specified by:
in interface
- Parameters:
v
- theshort
value to be written.- Throws:
- if an I/O error occurs
-
writeUTF
public void str) throws
Description copied from interface:Writes two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the strings
. Ifs
isnull
, aNullPointerException
is thrown. Each character in the strings
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
throughuffff
, 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 than65535
, then aUTFDataFormatException
is thrown. Otherwise, this length is written to the output stream in exactly the manner of thewriteShort
method; after this, the one-, two-, or three-byte representation of each character in the strings
is written.The bytes written by this method may be read by the
readUTF
method of interfaceDataInput
, which will then return aString
equal tos
.- Specified by:
in interface
- Parameters:
str
- the string value to be written.- Throws:
- if an I/O error occurs.
-
close
public void close() throws
Description copied from class:Closes this output stream and releases any system resources associated with the stream.When not already closed, the
close
method ofFilterOutputStream
calls itsflush
method, and then calls theclose
method of its underlying output stream.- Specified by:
in interface
- Specified by:
in interface
- Overrides:
in class
- Throws:
- if an I/O error occurs.
- See Also:
- ,
-
-