Package com.activeviam.io
Class ExposedByteArrayOutputStream
java.lang.Object
java.io.OutputStream
java.io.ByteArrayOutputStream
com.activeviam.io.ExposedByteArrayOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
Modified version of JGroups ExposedByteArrayOutputStream, which optimizes the write function to
limit unnecessary transient array copies when the buffer gets large.
- Author:
- ActiveViam
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintReturns the capacity of the stream.byte[]Returns the underlying byte array.voidreset()Resets thecountfield of this byte array output stream to zero, so that all currently accumulated output in the output stream is discarded.voidreset(int maxSize) Resets count and creates a new buf if the current buf is > maxSize.intsize()Returns the current size of the buffer.byte[]Creates a newly allocated byte array.voidwrite(byte[] b, int off, int len) Writeslenbytes from the specified byte array starting at offsetoffto this byte array output stream.voidwrite(int b) voidwriteTo(OutputStream out) Writes the complete contents of this byte array output stream to the specified output stream argument, as if by calling the output stream's write method usingout.write(buf, 0, count).Methods inherited from class java.io.ByteArrayOutputStream
close, toString, toString, toString, toString, writeBytesMethods inherited from class java.io.OutputStream
flush, nullOutputStream, write
-
Constructor Details
-
ExposedByteArrayOutputStream
public ExposedByteArrayOutputStream()
-
-
Method Details
-
getRawBuffer
public byte[] getRawBuffer()Returns the underlying byte array. -
getCapacity
public int getCapacity()Returns the capacity of the stream. -
write
public void write(int b) - Overrides:
writein classByteArrayOutputStream
-
write
public void write(byte[] b, int off, int len) Writeslenbytes from the specified byte array starting at offsetoffto this byte array output stream.- Overrides:
writein classByteArrayOutputStream- Parameters:
b- the data.off- the start offset in the data.len- the number of bytes to write.
-
writeTo
Writes the complete contents of this byte array output stream to the specified output stream argument, as if by calling the output stream's write method usingout.write(buf, 0, count).- Overrides:
writeToin classByteArrayOutputStream- Parameters:
out- the output stream to which to write the data.- Throws:
IOException- if an I/O error occurs.
-
reset
public void reset()Resets thecountfield of this byte array output stream to zero, so that all currently accumulated output in the output stream is discarded. The output stream can be used again, reusing the already allocated buffer space.- Overrides:
resetin classByteArrayOutputStream- See Also:
-
reset
public void reset(int maxSize) Resets count and creates a new buf if the current buf is > maxSize. This method is not synchronized.- Parameters:
maxSize- size of the buffer
-
toByteArray
public byte[] toByteArray()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.- Overrides:
toByteArrayin classByteArrayOutputStream- Returns:
- the current contents of this output stream, as a byte array.
- See Also:
-
size
public int size()Returns the current size of the buffer.- Overrides:
sizein classByteArrayOutputStream- Returns:
- the value of the
countfield, which is the number of valid bytes in this output stream. - See Also:
-