| java.lang.Object java.io.OutputStream org.cougaar.util.LinkedByteOutputStream
LinkedByteOutputStream | public class LinkedByteOutputStream extends OutputStream (Code) | | Replacement for ByteArrayOutputStream which grows a linked list
of multiple byte[]s instead of a single byte[].
The advantage of this implementation is that it grows in size
more efficiently than a single byte[]. This class also allows
greater control over the growth memory usage by overriding
the "allocLink(int)" method.
See Also: java.io.ByteArrayOutputStream |
Inner Class :protected static class Link | |
Constructor Summary | |
public | LinkedByteOutputStream() Creates a new linked byte output stream with a minimal buffer
growth increment of the default size (1024 bytes). | public | LinkedByteOutputStream(int size) Creates a new linked byte output stream with the specified
initial size. |
Method Summary | |
protected Link | allocLink(int minIncrement) Construct a new link with at least the specified
capacity. | public void | close() Closing a LinkedByteOutputStream has no effect. | protected void | freeLinks(Link first) Free all links in the linked list, starting with the
specified link.
This is here to support future link pooling. | public synchronized void | reset() Resets the count field of this linked byte output
stream to zero, so that all currently accumulated output in the
ouput stream is discarded.
Note that this implementation does not reuse the reclaimed
links. | public int | size() | public synchronized byte[] | toByteArray() Creates a newly allocated byte array. | public String | toString() Converts the buffer's contents into a string, translating bytes into
characters according to the platform's default character encoding. | public String | toString(String enc) Converts the buffer's contents into a string, translating bytes into
characters according to the specified character encoding.
Parameters: enc - a character-encoding name. | public synchronized void | write(int b) Writes the specified byte to this linked byte output stream. | public void | write(byte[] b, int off, int len) Writes len bytes from the specified byte array
starting at offset off to this linked byte output
stream. | public synchronized void | writeTo(OutputStream out) Writes the complete contents of this linked byte output stream to
the specified output stream argument, as if by calling the output
stream's write method using out.write(buf, 0, count) . |
DEFAULT_INITIAL_SIZE | final protected static int DEFAULT_INITIAL_SIZE(Code) | | |
count | protected int count(Code) | | |
initialSize | final protected int initialSize(Code) | | |
LinkedByteOutputStream | public LinkedByteOutputStream()(Code) | | Creates a new linked byte output stream with a minimal buffer
growth increment of the default size (1024 bytes).
|
LinkedByteOutputStream | public LinkedByteOutputStream(int size)(Code) | | Creates a new linked byte output stream with the specified
initial size.
Parameters: size - the initial size. |
allocLink | protected Link allocLink(int minIncrement)(Code) | | Construct a new link with at least the specified
capacity.
The default implementation works like array list,
growing from the initial size by (3/2).
This is here to support subclassing:
- Support more complex growth algorithms.
- Support future link pooling
-
|
close | public void close() throws IOException(Code) | | Closing a LinkedByteOutputStream has no effect. The methods in
this class can be called after the stream has been closed without
generating an IOException.
|
freeLinks | protected void freeLinks(Link first)(Code) | | Free all links in the linked list, starting with the
specified link.
This is here to support future link pooling. If you
implement this method, consider implementing "finalize()".
|
reset | public synchronized void reset()(Code) | | Resets the count field of this linked byte output
stream to zero, so that all currently accumulated output in the
ouput stream is discarded.
Note that this implementation does not reuse the reclaimed
links. This would require checking the tail for a non-null
next link.
|
size | public int size()(Code) | | the number of valid bytes in this output stream. |
toByteArray | public synchronized byte[] toByteArray()(Code) | | Creates a newly allocated byte array. Its size is the current
size of this output stream and the valid contents of the buffer
have been copied into it.
the current contents of this output stream, as a byte array. See Also: LinkedByteOutputStream.size() |
toString | public String toString()(Code) | | Converts the buffer's contents into a string, translating bytes into
characters according to the platform's default character encoding.
String translated from the buffer's contents. |
toString | public String toString(String enc) throws UnsupportedEncodingException(Code) | | Converts the buffer's contents into a string, translating bytes into
characters according to the specified character encoding.
Parameters: enc - a character-encoding name. String translated from the buffer's contents. throws: UnsupportedEncodingException - If the named encoding is not supported. |
write | public synchronized void write(int b)(Code) | | Writes the specified byte to this linked byte output stream.
Parameters: b - the byte to be written. |
write | public void write(byte[] b, int off, int len)(Code) | | Writes len bytes from the specified byte array
starting at offset off to this linked byte output
stream.
Parameters: b - the data. Parameters: off - the start offset in the data. Parameters: len - the number of bytes to write. |
writeTo | public synchronized void writeTo(OutputStream out) throws IOException(Code) | | Writes the complete contents of this linked byte output stream to
the specified output stream argument, as if by calling the output
stream's write method using out.write(buf, 0, count) .
Parameters: out - the output stream to which to write the data. exception: IOException - if an I/O error occurs. |
|
|