FileOutputStream is for writing to a file;
BufferOutputStream and FixedSizeBufferWriter write to buffers;
MockOutputStream just reports back how many bytes it received, for testing
purposes. You can create one and pass it to any of the table writers, for
example.
The $create() factory methods instantiate the OutputStream object and
take the following arguments, depending on the subclass:
path For FileOutputStream, a character file name
initial_capacity For BufferOutputStream, the size in bytes of the
buffer.
x For FixedSizeBufferWriter, a Buffer or an object that can be
made into a buffer via buffer().
MockOutputStream$create() does not take any arguments.
$tell(): return the position in the stream
$close(): close the stream
$write(x): send x to the stream
$capacity(): for BufferOutputStream
$getvalue(): for BufferOutputStream
$GetExtentBytesWritten(): for MockOutputStream, report how many bytes
were sent.