Package stdlib
Class BinaryIn
java.lang.Object
stdlib.BinaryIn
Binary input. This class provides methods for reading
in bits from a binary input stream, either
one bit at a time (as a
boolean
),
8 bits at a time (as a byte
or char
),
16 bits at a time (as a short
),
32 bits at a time (as an int
or float
), or
64 bits at a time (as a double
or long
).
The binary input stream can be from standard input, a filename, a URL name, a Socket, or an InputStream.
All primitive types are assumed to be represented using their standard Java representations, in bigendian (most significant byte first) order.
The client should not intermix calls to BinaryIn
with calls
to In
; otherwise unexpected behavior will result.

Field Summary
Modifier and TypeFieldDescriptionprivate int
private static final int
private BufferedInputStream
private int

Constructor Summary
ConstructorDescriptionBinaryIn()
Create a binary input stream from standard input.BinaryIn
(InputStream is) Create a binary input stream from an InputStream.Create a binary input stream from a filename or URL name.Create a binary input stream from a socket.Create a binary input stream from a URL. 
Method Summary
Modifier and TypeMethodDescriptionboolean
exists()
Does the binary input stream exist?private void
boolean
isEmpty()
Returns true if the binary input stream is empty.static void
Test client.boolean
Read the next bit of data from the binary input stream and return as a boolean.byte
readByte()
Read the next 8 bits from the binary input stream and return as an 8bit byte.char
readChar()
Read the next 8 bits from the binary input stream and return as an 8bit char.char
readChar
(int r) Read the next r bits from the binary input stream and return as an rbit character.double
Read the next 64 bits from the binary input stream and return as a 64bit double.float
Read the next 32 bits from standard input and return as a 32bit float.int
readInt()
Read the next 32 bits from the binary input stream and return as a 32bit int.int
readInt
(int r) Read the next r bits from the binary input stream return as an rbit int.long
readLong()
Read the next 64 bits from the binary input stream and return as a 64bit long.short
Read the next 16 bits from the binary input stream and return as a 16bit short.Read the remaining bytes of data from the binary input stream and return as a string.

Field Details

EOF
 See Also:

in

buffer

N


Constructor Details

BinaryIn
public BinaryIn()Create a binary input stream from standard input. 
BinaryIn
Create a binary input stream from an InputStream. 
BinaryIn
Create a binary input stream from a socket. 
BinaryIn
Create a binary input stream from a URL. 
BinaryIn
Create a binary input stream from a filename or URL name.


Method Details

fillBuffer

exists
Does the binary input stream exist? 
isEmpty
Returns true if the binary input stream is empty. Returns:
 true if and only if the binary input stream is empty

readBoolean
Read the next bit of data from the binary input stream and return as a boolean. Returns:
 the next bit of data from the binary input stream as a
boolean
 Throws:
RuntimeException
 if the input stream is empty

readChar
Read the next 8 bits from the binary input stream and return as an 8bit char. Returns:
 the next 8 bits of data from the binary input stream as a
char
 Throws:
RuntimeException
 if there are fewer than 8 bits available

readChar
Read the next r bits from the binary input stream and return as an rbit character. Parameters:
r
 number of bits to read. Returns:
 the next r bits of data from the binary input streamt as a
char
 Throws:
RuntimeException
 if there are fewer than r bits available

readString
Read the remaining bytes of data from the binary input stream and return as a string. Returns:
 the remaining bytes of data from the binary input stream as a
String
 Throws:
RuntimeException
 if the input stream is empty or if the number of bits available is not a multiple of 8 (bytealigned)

readShort
Read the next 16 bits from the binary input stream and return as a 16bit short. Returns:
 the next 16 bits of data from the binary standard input as a
short
 Throws:
RuntimeException
 if there are fewer than 16 bits available

readInt
Read the next 32 bits from the binary input stream and return as a 32bit int. Returns:
 the next 32 bits of data from the binary input stream as a
int
 Throws:
RuntimeException
 if there are fewer than 32 bits available

readInt
Read the next r bits from the binary input stream return as an rbit int. Parameters:
r
 number of bits to read. Returns:
 the next r bits of data from the binary input stream as a
int
 Throws:
RuntimeException
 if there are fewer than r bits available on standard input

readLong
Read the next 64 bits from the binary input stream and return as a 64bit long. Returns:
 the next 64 bits of data from the binary input stream as a
long
 Throws:
RuntimeException
 if there are fewer than 64 bits available

readDouble
Read the next 64 bits from the binary input stream and return as a 64bit double. Returns:
 the next 64 bits of data from the binary input stream as a
double
 Throws:
RuntimeException
 if there are fewer than 64 bits available

readFloat
Read the next 32 bits from standard input and return as a 32bit float. Returns:
 the next 32 bits of data from standard input as a
float
 Throws:
RuntimeException
 if there are fewer than 32 bits available on standard input

readByte
Read the next 8 bits from the binary input stream and return as an 8bit byte. Returns:
 the next 8 bits of data from the binary input stream as a
byte
 Throws:
RuntimeException
 if there are fewer than 8 bits available

main
Test client. Reads in the name of a file or url (first commandline argument) and writes it to a file (second commandline argument).
