public class WrappedOutputStream
extends java.io.FilterOutputStream
This output stream is used like any normal output stream. The protocol is introduced by the WrappedOutputStream and does not need to be known by the user of this class. However, for those that are interested, the method is described below.
The output stream writes the requested bytes as packets of binary information. The packet consists of a header and payload. The header is two bytes of a single unsigned short (written in network order) that specifies the length of bytes in the payload. A header value of 0 indicates that the stream is "closed".
Note: For this wrapped output stream to be used,
the application must call close()
to end the output.
WrappedInputStream| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_BUFFER_SIZE
Default buffer size (1024).
|
protected byte[] |
fBuffer
Buffer.
|
protected java.io.DataOutputStream |
fDataOutputStream
Data output stream.
|
protected int |
fPosition
Buffer position.
|
| Constructor and Description |
|---|
WrappedOutputStream(java.io.OutputStream stream)
Constructs a wrapper for the given output stream.
|
WrappedOutputStream(java.io.OutputStream stream,
int bufferSize)
Constructs a wrapper for the given output stream with the
given buffer size.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the output stream.
|
void |
flush()
Flushes the output buffer, writing all bytes currently in
the buffer to the output.
|
void |
flush0()
Flushes the output buffer, writing all bytes currently in
the buffer to the output.
|
void |
write(byte[] b,
int offset,
int length)
Writes an array of bytes to the output.
|
void |
write(int b)
Writes a single byte to the output.
|
public static final int DEFAULT_BUFFER_SIZE
protected byte[] fBuffer
protected int fPosition
protected java.io.DataOutputStream fDataOutputStream
Note: The data output stream is only used for writing the byte count for performance reasons. We avoid the method indirection for writing the byte data.
public WrappedOutputStream(java.io.OutputStream stream)
public WrappedOutputStream(java.io.OutputStream stream,
int bufferSize)
public void write(int b)
throws java.io.IOException
Note: Single bytes written to the output stream will be buffered
write in class java.io.FilterOutputStreamjava.io.IOExceptionpublic void write(byte[] b,
int offset,
int length)
throws java.io.IOException
write in class java.io.FilterOutputStreamjava.io.IOExceptionpublic void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.FilterOutputStreamjava.io.IOExceptionpublic void close()
throws java.io.IOException
Note: This method does not close the actual output stream, only makes the input stream see the stream closed. Do not write bytes after closing the output stream.
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.FilterOutputStreamjava.io.IOExceptionpublic void flush0()
throws java.io.IOException
java.io.IOException