Class BinaryIn
- Object
- 
- BinaryIn
 
- 
 public final class BinaryIn extends Object TheBinaryIndata type provides methods for reading in bits from a binary input stream. It can process the bits one bit at a time (as aboolean), 8 bits at a time (as abyteorchar), 16 bits at a time (as ashort), 32 bits at a time (as anintorfloat), or 64 bits at a time (as adoubleorlong).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 big-endian (most significant byte first) order. The client should not intermix calls to BinaryInwith calls toIn; otherwise unexpected behavior will result.- Author:
- Robert Sedgewick, Kevin Wayne
 
- 
- 
Constructor SummaryConstructors Constructor Description BinaryIn()Initializes a binary input stream from standard input.BinaryIn(InputStream is)Initializes a binary input stream from anInputStream.BinaryIn(String name)Initializes a binary input stream from a filename or URL name.BinaryIn(Socket socket)Initializes a binary input stream from a socket.BinaryIn(URL url)Initializes a binary input stream from a URL.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanexists()Returns true if this binary input stream exists.booleanisEmpty()Returns true if this binary input stream is empty.static voidmain(String[] args)Unit tests theBinaryIndata type.booleanreadBoolean()Reads the next bit of data from this binary input stream and return as a boolean.bytereadByte()Reads the next 8 bits from this binary input stream and return as an 8-bit byte.charreadChar()Reads the next 8 bits from this binary input stream and return as an 8-bit char.charreadChar(int r)Reads the next r bits from this binary input stream and return as an r-bit character.doublereadDouble()Reads the next 64 bits from this binary input stream and return as a 64-bit double.floatreadFloat()Reads the next 32 bits from this binary input stream and return as a 32-bit float.intreadInt()Reads the next 32 bits from this binary input stream and return as a 32-bit int.intreadInt(int r)Reads the next r bits from this binary input stream return as an r-bit int.longreadLong()Reads the next 64 bits from this binary input stream and return as a 64-bit long.shortreadShort()Reads the next 16 bits from this binary input stream and return as a 16-bit short.StringreadString()Reads the remaining bytes of data from this binary input stream and return as a string.
 
- 
- 
- 
Constructor Detail- 
BinaryInpublic BinaryIn() Initializes a binary input stream from standard input.
 - 
BinaryInpublic BinaryIn(InputStream is) Initializes a binary input stream from anInputStream.- Parameters:
- is- the- InputStreamobject
 
 - 
BinaryInpublic BinaryIn(Socket socket) Initializes a binary input stream from a socket.- Parameters:
- socket- the socket
 
 - 
BinaryInpublic BinaryIn(URL url) Initializes a binary input stream from a URL.- Parameters:
- url- the URL
 
 - 
BinaryInpublic BinaryIn(String name) Initializes a binary input stream from a filename or URL name.- Parameters:
- name- the name of the file or URL
 
 
- 
 - 
Method Detail- 
existspublic boolean exists() Returns true if this binary input stream exists.- Returns:
- trueif this binary input stream exists;- falseotherwise
 
 - 
isEmptypublic boolean isEmpty() Returns true if this binary input stream is empty.- Returns:
- trueif this binary input stream is empty;- falseotherwise
 
 - 
readBooleanpublic boolean readBoolean() Reads the next bit of data from this binary input stream and return as a boolean.- Returns:
- the next bit of data from this binary input stream as a boolean
- Throws:
- NoSuchElementException- if this binary input stream is empty
 
 - 
readCharpublic char readChar() Reads the next 8 bits from this binary input stream and return as an 8-bit char.- Returns:
- the next 8 bits of data from this binary input stream as a char
- Throws:
- NoSuchElementException- if there are fewer than 8 bits available
 
 - 
readCharpublic char readChar(int r) Reads the next r bits from this binary input stream and return as an r-bit character.- Parameters:
- r- number of bits to read
- Returns:
- the next rbits of data from this binary input stream as achar
- Throws:
- NoSuchElementException- if there are fewer than- rbits available
- IllegalArgumentException- unless- 1 <= r <= 16
 
 - 
readStringpublic String readString() Reads the remaining bytes of data from this binary input stream and return as a string.- Returns:
- the remaining bytes of data from this binary input stream as a String
- Throws:
- NoSuchElementException- if this binary input stream is empty or if the number of bits available is not a multiple of 8 (byte-aligned)
 
 - 
readShortpublic short readShort() Reads the next 16 bits from this binary input stream and return as a 16-bit short.- Returns:
- the next 16 bits of data from this binary input stream as a short
- Throws:
- NoSuchElementException- if there are fewer than 16 bits available
 
 - 
readIntpublic int readInt() Reads the next 32 bits from this binary input stream and return as a 32-bit int.- Returns:
- the next 32 bits of data from this binary input stream as a int
- Throws:
- NoSuchElementException- if there are fewer than 32 bits available
 
 - 
readIntpublic int readInt(int r) Reads the next r bits from this binary input stream return as an r-bit int.- Parameters:
- r- number of bits to read
- Returns:
- the next rbits of data from this binary input stream as aint
- Throws:
- NoSuchElementException- if there are fewer than r bits available
- IllegalArgumentException- unless- 1 <= r <= 32
 
 - 
readLongpublic long readLong() Reads the next 64 bits from this binary input stream and return as a 64-bit long.- Returns:
- the next 64 bits of data from this binary input stream as a long
- Throws:
- NoSuchElementException- if there are fewer than 64 bits available
 
 - 
readDoublepublic double readDouble() Reads the next 64 bits from this binary input stream and return as a 64-bit double.- Returns:
- the next 64 bits of data from this binary input stream as a double
- Throws:
- NoSuchElementException- if there are fewer than 64 bits available
 
 - 
readFloatpublic float readFloat() Reads the next 32 bits from this binary input stream and return as a 32-bit float.- Returns:
- the next 32 bits of data from this binary input stream as a float
- Throws:
- NoSuchElementException- if there are fewer than 32 bits available
 
 - 
readBytepublic byte readByte() Reads the next 8 bits from this binary input stream and return as an 8-bit byte.- Returns:
- the next 8 bits of data from this binary input stream as a byte
- Throws:
- NoSuchElementException- if there are fewer than 8 bits available
 
 - 
mainpublic static void main(String[] args) Unit tests theBinaryIndata type. Reads the name of a file or URL (first command-line argument) and writes it to a file (second command-line argument).- Parameters:
- args- the command-line arguments
 
 
- 
 
-