public final class BinaryStdIn extends Object
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
).
All primitive types are assumed to be represented using their standard Java representations, in big-endian (most significant byte first) order.
The client should not intermix calls to BinaryStdIn
with calls
to StdIn
or System.in
;
otherwise unexpected behavior will result.
Modifier and Type | Method and 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 8-bit byte.
|
static char |
readChar()
Reads the next 8 bits from standard input and return as an 8-bit char.
|
static char |
readChar(int r)
Reads the next r bits from standard input and return as an r-bit character.
|
static double |
readDouble()
Reads the next 64 bits from standard input and return as a 64-bit double.
|
static float |
readFloat()
Reads the next 32 bits from standard input and return as a 32-bit float.
|
static int |
readInt()
Reads the next 32 bits from standard input and return as a 32-bit int.
|
static int |
readInt(int r)
Reads the next r bits from standard input and return as an r-bit int.
|
static long |
readLong()
Reads the next 64 bits from standard input and return as a 64-bit long.
|
static short |
readShort()
Reads the next 16 bits from standard input and return as a 16-bit short.
|
static String |
readString()
Reads the remaining bytes of data from standard input and return as a string.
|
public static void close()
public static boolean isEmpty()
public static boolean readBoolean()
boolean
NoSuchElementException
- if standard input is emptypublic static char readChar()
char
is a 16-bit type;
to read the next 16 bits as a char, use readChar(16)
.char
NoSuchElementException
- if there are fewer than 8 bits available on standard inputpublic static char readChar(int r)
r
- number of bits to read.char
NoSuchElementException
- if there are fewer than r
bits available on standard inputIllegalArgumentException
- unless 1 <= r <= 16
public static String readString()
String
NoSuchElementException
- if standard input is empty or if the number of bits
available on standard input is not a multiple of 8 (byte-aligned)public static short readShort()
short
NoSuchElementException
- if there are fewer than 16 bits available on standard inputpublic static int readInt()
int
NoSuchElementException
- if there are fewer than 32 bits available on standard inputpublic static int readInt(int r)
r
- number of bits to read.int
NoSuchElementException
- if there are fewer than r
bits available on standard inputIllegalArgumentException
- unless 1 <= r <= 32
public static long readLong()
long
NoSuchElementException
- if there are fewer than 64 bits available on standard inputpublic static double readDouble()
double
NoSuchElementException
- if there are fewer than 64 bits available on standard inputpublic static float readFloat()
float
NoSuchElementException
- if there are fewer than 32 bits available on standard inputpublic static byte readByte()
byte
NoSuchElementException
- if there are fewer than 8 bits available on standard inputpublic static void main(String[] args)
args
- the command-line arguments