Package stdlib
Class BinaryOut
java.lang.Object
stdlib.BinaryOut
Binary output. This class provides methods for converting
primtive type variables (
boolean
, byte
, char
,
int
, long
, float
, and double
)
to sequences of bits and writing them to an output stream.
The output stream can be standard output, a file, an OutputStream or a Socket.
Uses big-endian (most-significant byte first).
The client must flush()
the output stream when finished writing bits.
The client should not intermixing calls to BinaryOut
with calls
to Out
; otherwise unexpected behavior will result.
-
Constructor Summary
ConstructorDescriptionCreate a binary output stream from standard output.Create a binary output stream from an OutputStream.Create a binary output stream from a filename.Create a binary output stream from a Socket. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close and flush the binary output stream.void
flush()
Flush the binary output stream, padding 0s if number of bits written so far is not a multiple of 8.static void
Test client.void
write
(boolean x) Write the specified bit to the binary output stream.void
write
(byte x) Write the 8-bit byte to the binary output stream.void
write
(char x) Write the 8-bit char to the binary output stream.void
write
(char x, int r) Write the r-bit char to the binary output stream.void
write
(double x) Write the 64-bit double to the binary output stream.void
write
(float x) Write the 32-bit float to the binary output stream.void
write
(int x) Write the 32-bit int to the binary output stream.void
write
(int x, int r) Write the r-bit int to the binary output stream.void
write
(long x) Write the 64-bit long to the binary output stream.void
write
(short x) Write the 16-bit int to the binary output stream.void
Write the string of 8-bit characters to the binary output stream.void
Write the String of r-bit characters to the binary output stream.
-
Constructor Details
-
BinaryOut
Create a binary output stream from an OutputStream. -
BinaryOut
public BinaryOut()Create a binary output stream from standard output. -
BinaryOut
Create a binary output stream from a filename. -
BinaryOut
Create a binary output stream from a Socket.
-
-
Method Details
-
flush
Flush the binary output stream, padding 0s if number of bits written so far is not a multiple of 8. -
close
Close and flush the binary output stream. Once it is closed, you can no longer write bits. -
write
Write the specified bit to the binary output stream.- Parameters:
x
- theboolean
to write.
-
write
Write the 8-bit byte to the binary output stream.- Parameters:
x
- thebyte
to write.
-
write
Write the 32-bit int to the binary output stream.- Parameters:
x
- theint
to write.
-
write
Write the r-bit int to the binary output stream.- Parameters:
x
- theint
to write.r
- the number of relevant bits in the char.- Throws:
RuntimeException
- ifr
is not between 1 and 32.RuntimeException
- ifx
is not between 0 and 2r - 1.
-
write
Write the 64-bit double to the binary output stream.- Parameters:
x
- thedouble
to write.
-
write
Write the 64-bit long to the binary output stream.- Parameters:
x
- thelong
to write.
-
write
Write the 32-bit float to the binary output stream.- Parameters:
x
- thefloat
to write.
-
write
Write the 16-bit int to the binary output stream.- Parameters:
x
- theshort
to write.
-
write
Write the 8-bit char to the binary output stream.- Parameters:
x
- thechar
to write.- Throws:
RuntimeException
- ifx
is not betwen 0 and 255.
-
write
Write the r-bit char to the binary output stream.- Parameters:
x
- thechar
to write.r
- the number of relevant bits in the char.- Throws:
RuntimeException
- ifr
is not between 1 and 16.RuntimeException
- ifx
is not between 0 and 2r - 1.
-
write
Write the string of 8-bit characters to the binary output stream.- Parameters:
s
- theString
to write.- Throws:
RuntimeException
- if any character in the string is not between 0 and 255.
-
write
Write the String of r-bit characters to the binary output stream.- Parameters:
s
- theString
to write.r
- the number of relevants bits in each character.- Throws:
RuntimeException
- if r is not between 1 and 16.RuntimeException
- if any character in the string is not between 0 and 2r - 1.
-
main
Test client. Read bits from standard input and write to the file specified on command line.
-