Package pixy.io
Class EndianAwareInputStream
java.lang.Object
java.io.InputStream
pixy.io.EndianAwareInputStream
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.lang.AutoCloseable
public class EndianAwareInputStream
extends java.io.InputStream
implements java.io.DataInput
Endian-aware InputStream backed up by ReadStrategy
- Version:
- 1.0 02/03/2014
- Author:
- Wen Yu, yuwen_66@yahoo.com
-
Constructor Summary
Constructors Constructor Description EndianAwareInputStream(java.io.InputStream is)
-
Method Summary
Modifier and Type Method Description void
close()
int
read()
boolean
readBoolean()
byte
readByte()
char
readChar()
double
readDouble()
float
readFloat()
void
readFully(byte[] b)
void
readFully(byte[] b, int off, int len)
int
readInt()
java.lang.String
readLine()
Deprecated.long
readLong()
float
readS15Fixed16Number()
short
readShort()
float
readU16Fixed16Number()
float
readU8Fixed8Number()
int
readUnsignedByte()
long
readUnsignedInt()
int
readUnsignedShort()
java.lang.String
readUTF()
Due to the current implementation, writeUTF and readUTF are the only methods which are machine or byte sequence independent as they are actually both Motorola byte sequence under the hood.void
setReadStrategy(ReadStrategy strategy)
int
skipBytes(int n)
-
Constructor Details
-
EndianAwareInputStream
public EndianAwareInputStream(java.io.InputStream is)
-
-
Method Details
-
read
public int read() throws java.io.IOException- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
readBoolean
public boolean readBoolean() throws java.io.IOException- Specified by:
readBoolean
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readByte
public byte readByte() throws java.io.IOException- Specified by:
readByte
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readChar
public char readChar() throws java.io.IOException- Specified by:
readChar
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readDouble
public double readDouble() throws java.io.IOException- Specified by:
readDouble
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readFloat
public float readFloat() throws java.io.IOException- Specified by:
readFloat
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
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
-
readInt
public int readInt() throws java.io.IOException- Specified by:
readInt
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readLine
@Deprecated public java.lang.String readLine() throws java.io.IOExceptionDeprecated.- Specified by:
readLine
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readLong
public long readLong() throws java.io.IOException- Specified by:
readLong
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readS15Fixed16Number
public float readS15Fixed16Number() throws java.io.IOException- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException- Specified by:
readShort
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readU16Fixed16Number
public float readU16Fixed16Number() throws java.io.IOException- Throws:
java.io.IOException
-
readU8Fixed8Number
public float readU8Fixed8Number() throws java.io.IOException- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException- Specified by:
readUnsignedByte
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUnsignedInt
public long readUnsignedInt() throws java.io.IOException- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException- Specified by:
readUnsignedShort
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUTF
public java.lang.String readUTF() throws java.io.IOExceptionDue to the current implementation, writeUTF and readUTF are the only methods which are machine or byte sequence independent as they are actually both Motorola byte sequence under the hood. Whereas the following static method is byte sequence dependent as it calls readUnsignedShort of RandomAccessInputStream.DataInputStream.readUTF(this)
;- Specified by:
readUTF
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
setReadStrategy
-
skipBytes
public int skipBytes(int n) throws java.io.IOException- Specified by:
skipBytes
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-