Class AccessibleByteArrayOutputStream
java.lang.Object
java.io.OutputStream
java.io.ByteArrayOutputStream
org.apache.derby.iapi.services.io.AccessibleByteArrayOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
This allows us to get to the byte array to go back and
edit contents or get the array without having a copy made.
Since a copy is not made, users must be careful that no more writes are made to the stream if the array reference is handed off.
Users of this must make the modifications *before* the next write is done, and then release their hold on the array.
-
Field Summary
Fields inherited from class java.io.ByteArrayOutputStream
buf, count
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic InputStream
copyStream
(InputStream in, int bufferSize) Copy an InputStream into an array of bytes and return an InputStream against those bytes.Return an InputStream that wraps the valid byte array.byte[]
The caller promises to set their variable to null before any other calls to write to this stream are made.void
readFrom
(InputStream in) Read the complete contents of the passed input stream into this byte array.Methods inherited from class java.io.ByteArrayOutputStream
close, reset, size, toByteArray, toString, toString, toString, toString, write, write, writeBytes, writeTo
Methods inherited from class java.io.OutputStream
flush, nullOutputStream, write
-
Constructor Details
-
AccessibleByteArrayOutputStream
public AccessibleByteArrayOutputStream() -
AccessibleByteArrayOutputStream
public AccessibleByteArrayOutputStream(int size)
-
-
Method Details
-
getInternalByteArray
public byte[] getInternalByteArray()The caller promises to set their variable to null before any other calls to write to this stream are made. Or promises to throw away references to the stream before passing the array reference out of its control. -
readFrom
Read the complete contents of the passed input stream into this byte array.- Throws:
IOException
-
getInputStream
Return an InputStream that wraps the valid byte array. Note that no copy is made of the byte array from the input stream, it is up to the caller to ensure the correct co-ordination. -
copyStream
Copy an InputStream into an array of bytes and return an InputStream against those bytes. The input stream is copied until EOF is returned. This is useful to provide streams to applications in order to isolate them from Derby's internals.- Parameters:
in
- InputStream to be copiedbufferSize
- Initial size of the byte array- Returns:
- InputStream against the raw data.
- Throws:
IOException
- Error reading the stream
-