Class LittleEndianDataInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
com.google.common.io.LittleEndianDataInputStream
- All Implemented Interfaces:
Closeable
,DataInput
,AutoCloseable
@GwtIncompatible
public final class LittleEndianDataInputStream
extends FilterInputStream
implements DataInput
An implementation of
DataInput
that uses little-endian byte ordering for reading
short
, int
, float
, double
, and long
values.
Note: This class intentionally violates the specification of its supertype
DataInput
, which explicitly requires big-endian byte order.
- Since:
- 8.0
- Author:
- Chris Nokleberg, Keith Bottner
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorDescriptionCreates aLittleEndianDataInputStream
that wraps the given stream. -
Method Summary
Modifier and TypeMethodDescriptionboolean
byte
readByte()
char
readChar()
Reads a char as specified byDataInputStream.readChar()
, except using little-endian byte order.double
Reads adouble
as specified byDataInputStream.readDouble()
, except using little-endian byte order.float
Reads afloat
as specified byDataInputStream.readFloat()
, except using little-endian byte order.void
readFully
(byte[] b) void
readFully
(byte[] b, int off, int len) int
readInt()
Reads an integer as specified byDataInputStream.readInt()
, except using little-endian byte order.readLine()
This method will throw anUnsupportedOperationException
.long
readLong()
Reads along
as specified byDataInputStream.readLong()
, except using little-endian byte order.short
Reads ashort
as specified byDataInputStream.readShort()
, except using little-endian byte order.int
int
Reads an unsignedshort
as specified byDataInputStream.readUnsignedShort()
, except using little-endian byte order.readUTF()
int
skipBytes
(int n) Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, read, read, reset, skip
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
LittleEndianDataInputStream
Creates aLittleEndianDataInputStream
that wraps the given stream.- Parameters:
in
- the stream to delegate to
-
-
Method Details
-
readLine
This method will throw anUnsupportedOperationException
. -
readFully
- Specified by:
readFully
in interfaceDataInput
- Throws:
IOException
-
readFully
- Specified by:
readFully
in interfaceDataInput
- Throws:
IOException
-
skipBytes
- Specified by:
skipBytes
in interfaceDataInput
- Throws:
IOException
-
readUnsignedByte
- Specified by:
readUnsignedByte
in interfaceDataInput
- Throws:
IOException
-
readUnsignedShort
Reads an unsignedshort
as specified byDataInputStream.readUnsignedShort()
, except using little-endian byte order.- Specified by:
readUnsignedShort
in interfaceDataInput
- Returns:
- the next two bytes of the input stream, interpreted as an unsigned 16-bit integer in little-endian byte order
- Throws:
IOException
- if an I/O error occurs
-
readInt
Reads an integer as specified byDataInputStream.readInt()
, except using little-endian byte order.- Specified by:
readInt
in interfaceDataInput
- Returns:
- the next four bytes of the input stream, interpreted as an
int
in little-endian byte order - Throws:
IOException
- if an I/O error occurs
-
readLong
Reads along
as specified byDataInputStream.readLong()
, except using little-endian byte order.- Specified by:
readLong
in interfaceDataInput
- Returns:
- the next eight bytes of the input stream, interpreted as a
long
in little-endian byte order - Throws:
IOException
- if an I/O error occurs
-
readFloat
Reads afloat
as specified byDataInputStream.readFloat()
, except using little-endian byte order.- Specified by:
readFloat
in interfaceDataInput
- Returns:
- the next four bytes of the input stream, interpreted as a
float
in little-endian byte order - Throws:
IOException
- if an I/O error occurs
-
readDouble
Reads adouble
as specified byDataInputStream.readDouble()
, except using little-endian byte order.- Specified by:
readDouble
in interfaceDataInput
- Returns:
- the next eight bytes of the input stream, interpreted as a
double
in little-endian byte order - Throws:
IOException
- if an I/O error occurs
-
readUTF
- Specified by:
readUTF
in interfaceDataInput
- Throws:
IOException
-
readShort
Reads ashort
as specified byDataInputStream.readShort()
, except using little-endian byte order.- Specified by:
readShort
in interfaceDataInput
- Returns:
- the next two bytes of the input stream, interpreted as a
short
in little-endian byte order. - Throws:
IOException
- if an I/O error occurs.
-
readChar
Reads a char as specified byDataInputStream.readChar()
, except using little-endian byte order.- Specified by:
readChar
in interfaceDataInput
- Returns:
- the next two bytes of the input stream, interpreted as a
char
in little-endian byte order - Throws:
IOException
- if an I/O error occurs
-
readByte
- Specified by:
readByte
in interfaceDataInput
- Throws:
IOException
-
readBoolean
- Specified by:
readBoolean
in interfaceDataInput
- Throws:
IOException
-