Package com.google.common.io
Class LittleEndianDataInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.google.common.io.LittleEndianDataInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.lang.AutoCloseable
@Beta public final class LittleEndianDataInputStream extends java.io.FilterInputStream implements java.io.DataInput
An implementation ofDataInput
that uses little-endian byte ordering for readingshort
,int
,float
,double
, andlong
values.Note: This class intentionally violates the specification of its supertype
DataInput
, which explicitly requires big-endian byte order.- Since:
- 8.0
-
-
Constructor Summary
Constructors Constructor Description LittleEndianDataInputStream(java.io.InputStream in)
Creates aLittleEndianDataInputStream
that wraps the given stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
readBoolean()
byte
readByte()
char
readChar()
Reads a char as specified byDataInputStream.readChar()
, except using little-endian byte order.double
readDouble()
Reads adouble
as specified byDataInputStream.readDouble()
, except using little-endian byte order.float
readFloat()
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.java.lang.String
readLine()
This method will throw anUnsupportedOperationException
.long
readLong()
Reads along
as specified byDataInputStream.readLong()
, except using little-endian byte order.short
readShort()
Reads ashort
as specified byDataInputStream.readShort()
, except using little-endian byte order.int
readUnsignedByte()
int
readUnsignedShort()
Reads an unsignedshort
as specified byDataInputStream.readUnsignedShort()
, except using little-endian byte order.java.lang.String
readUTF()
int
skipBytes(int n)
-
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, read, read, reset, skip
-
-
-
-
Method Detail
-
readLine
public java.lang.String readLine()
This method will throw anUnsupportedOperationException
.- Specified by:
readLine
in interfacejava.io.DataInput
-
readFully
public void readFully(byte[] b) throws java.io.IOException
- Specified by:
readFully
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] b, int off, int len) throws java.io.IOException
- Specified by:
readFully
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
skipBytes
public int skipBytes(int n) throws java.io.IOException
- Specified by:
skipBytes
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException
- Specified by:
readUnsignedByte
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException
Reads an unsignedshort
as specified byDataInputStream.readUnsignedShort()
, except using little-endian byte order.- Specified by:
readUnsignedShort
in interfacejava.io.DataInput
- Returns:
- the next two bytes of the input stream, interpreted as an unsigned 16-bit integer in little-endian byte order
- Throws:
java.io.IOException
- if an I/O error occurs
-
readInt
public int readInt() throws java.io.IOException
Reads an integer as specified byDataInputStream.readInt()
, except using little-endian byte order.- Specified by:
readInt
in interfacejava.io.DataInput
- Returns:
- the next four bytes of the input stream, interpreted as an
int
in little-endian byte order - Throws:
java.io.IOException
- if an I/O error occurs
-
readLong
public long readLong() throws java.io.IOException
Reads along
as specified byDataInputStream.readLong()
, except using little-endian byte order.- Specified by:
readLong
in interfacejava.io.DataInput
- Returns:
- the next eight bytes of the input stream, interpreted as a
long
in little-endian byte order - Throws:
java.io.IOException
- if an I/O error occurs
-
readFloat
public float readFloat() throws java.io.IOException
Reads afloat
as specified byDataInputStream.readFloat()
, except using little-endian byte order.- Specified by:
readFloat
in interfacejava.io.DataInput
- Returns:
- the next four bytes of the input stream, interpreted as a
float
in little-endian byte order - Throws:
java.io.IOException
- if an I/O error occurs
-
readDouble
public double readDouble() throws java.io.IOException
Reads adouble
as specified byDataInputStream.readDouble()
, except using little-endian byte order.- Specified by:
readDouble
in interfacejava.io.DataInput
- Returns:
- the next eight bytes of the input stream, interpreted as a
double
in little-endian byte order - Throws:
java.io.IOException
- if an I/O error occurs
-
readUTF
public java.lang.String readUTF() throws java.io.IOException
- Specified by:
readUTF
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException
Reads ashort
as specified byDataInputStream.readShort()
, except using little-endian byte order.- Specified by:
readShort
in interfacejava.io.DataInput
- Returns:
- the next two bytes of the input stream, interpreted as a
short
in little-endian byte order. - Throws:
java.io.IOException
- if an I/O error occurs.
-
readChar
public char readChar() throws java.io.IOException
Reads a char as specified byDataInputStream.readChar()
, except using little-endian byte order.- Specified by:
readChar
in interfacejava.io.DataInput
- Returns:
- the next two bytes of the input stream, interpreted as a
char
in little-endian byte order - Throws:
java.io.IOException
- if an I/O error occurs
-
readByte
public byte readByte() throws java.io.IOException
- Specified by:
readByte
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readBoolean
public boolean readBoolean() throws java.io.IOException
- Specified by:
readBoolean
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
-