Booleans

The DataOutputStream class has a writeBoolean( ) method, and the DataInputStream class has a corresponding readBoolean( ) method:

public final void writeBoolean(boolean b) throws IOException public final boolean readBoolean( ) throws IOException

Although theoretically a single bit could be used to indicate the value of a boolean, in practice a whole byte is used. This makes alignment much simpler and the extra space it uses isn't large enough to create an issue on modern machines. The writeBoolean( ) method writes a 0 byte (0x00) to indicate false or a 1 byte (0x01) to indicate true. The readBoolean( ) method interprets 0 as false and any positive number as true. Negative numbers indicate end of stream and lead to an EOFException being thrown.

Категории