Package edu.princeton.cs.algs4
Class BinaryStdIn
 Object

 edu.princeton.cs.algs4.BinaryStdIn

public final class BinaryStdIn extends Object
Binary standard input. This class provides methods for reading in bits from standard input, either one bit at a time (as aboolean
), 8 bits at a time (as abyte
orchar
), 16 bits at a time (as ashort
), 32 bits at a time (as anint
orfloat
), or 64 bits at a time (as adouble
orlong
).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
BinaryStdIn
with calls toStdIn
orSystem.in
; otherwise unexpected behavior will result. Author:
 Robert Sedgewick, Kevin Wayne


Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
close()
Close this input stream and release any associated system resources.static boolean
isEmpty()
Returns true if standard input is empty.static void
main(String[] args)
Test client.static boolean
readBoolean()
Reads the next bit of data from standard input and return as a boolean.static byte
readByte()
Reads the next 8 bits from standard input and return as an 8bit byte.static char
readChar()
Reads the next 8 bits from standard input and return as an 8bit char.static char
readChar(int r)
Reads the next r bits from standard input and return as an rbit character.static double
readDouble()
Reads the next 64 bits from standard input and return as a 64bit double.static float
readFloat()
Reads the next 32 bits from standard input and return as a 32bit float.static int
readInt()
Reads the next 32 bits from standard input and return as a 32bit int.static int
readInt(int r)
Reads the next r bits from standard input and return as an rbit int.static long
readLong()
Reads the next 64 bits from standard input and return as a 64bit long.static short
readShort()
Reads the next 16 bits from standard input and return as a 16bit short.static String
readString()
Reads the remaining bytes of data from standard input and return as a string.



Method Detail

close
public static void close()
Close this input stream and release any associated system resources.

isEmpty
public static boolean isEmpty()
Returns true if standard input is empty. Returns:
 true if and only if standard input is empty

readBoolean
public static boolean readBoolean()
Reads the next bit of data from standard input and return as a boolean. Returns:
 the next bit of data from standard input as a
boolean
 Throws:
NoSuchElementException
 if standard input is empty

readChar
public static char readChar()
Reads the next 8 bits from standard input and return as an 8bit char. Note thatchar
is a 16bit type; to read the next 16 bits as a char, usereadChar(16)
. Returns:
 the next 8 bits of data from standard input as a
char
 Throws:
NoSuchElementException
 if there are fewer than 8 bits available on standard input

readChar
public static char readChar(int r)
Reads the next r bits from standard input and return as an rbit character. Parameters:
r
 number of bits to read. Returns:
 the next r bits of data from standard input as a
char
 Throws:
NoSuchElementException
 if there are fewer thanr
bits available on standard inputIllegalArgumentException
 unless1 <= r <= 16

readString
public static String readString()
Reads the remaining bytes of data from standard input and return as a string. Returns:
 the remaining bytes of data from standard input as a
String
 Throws:
NoSuchElementException
 if standard input is empty or if the number of bits available on standard input is not a multiple of 8 (bytealigned)

readShort
public static short readShort()
Reads the next 16 bits from standard input and return as a 16bit short. Returns:
 the next 16 bits of data from standard input as a
short
 Throws:
NoSuchElementException
 if there are fewer than 16 bits available on standard input

readInt
public static int readInt()
Reads the next 32 bits from standard input and return as a 32bit int. Returns:
 the next 32 bits of data from standard input as a
int
 Throws:
NoSuchElementException
 if there are fewer than 32 bits available on standard input

readInt
public static int readInt(int r)
Reads the next r bits from standard input and return as an rbit int. Parameters:
r
 number of bits to read. Returns:
 the next r bits of data from standard input as a
int
 Throws:
NoSuchElementException
 if there are fewer thanr
bits available on standard inputIllegalArgumentException
 unless1 <= r <= 32

readLong
public static long readLong()
Reads the next 64 bits from standard input and return as a 64bit long. Returns:
 the next 64 bits of data from standard input as a
long
 Throws:
NoSuchElementException
 if there are fewer than 64 bits available on standard input

readDouble
public static double readDouble()
Reads the next 64 bits from standard input and return as a 64bit double. Returns:
 the next 64 bits of data from standard input as a
double
 Throws:
NoSuchElementException
 if there are fewer than 64 bits available on standard input

readFloat
public static float readFloat()
Reads 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:
NoSuchElementException
 if there are fewer than 32 bits available on standard input

readByte
public static byte readByte()
Reads the next 8 bits from standard input and return as an 8bit byte. Returns:
 the next 8 bits of data from standard input as a
byte
 Throws:
NoSuchElementException
 if there are fewer than 8 bits available on standard input

main
public static void main(String[] args)
Test client. Reads in a binary input file from standard input and writes it to standard output. Parameters:
args
 the commandline arguments

