Package com.unboundid.util
Class FixedArrayOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- com.unboundid.util.FixedArrayOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.io.Serializable,java.lang.AutoCloseable
@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class FixedArrayOutputStream extends java.io.OutputStream implements java.io.Serializable
This class provides anOutputStreamimplementation that writes data to a provided byte array. It is similar to thejava.io.ByteArrayOutputStreamclass, except that it allows you to pass in the array that it uses, and the array will not grow over time.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FixedArrayOutputStream(byte[] array)Creates a new output stream that will write data to the provided array.FixedArrayOutputStream(byte[] array, int pos, int len)Creates a new output stream that will write data to the provided array.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this output stream.voidflush()Flushes this output stream.byte[]getBackingArray()Retrieves the backing array used by this output stream.intgetBytesWritten()Retrieves the number of bytes that have been written so far to this output stream.intgetInitialPosition()Retrieves the initial position provided when this output stream was created.intgetLength()Retrieves the maximum number of bytes that may be written to this output stream.voidwrite(byte[] b)Writes the contents of the provided array to this output stream.voidwrite(byte[] b, int off, int len)Writes the contents of the provided array to this output stream.voidwrite(int b)Writes the provided byte to this output stream.
-
-
-
Constructor Detail
-
FixedArrayOutputStream
public FixedArrayOutputStream(@NotNull byte[] array)
Creates a new output stream that will write data to the provided array. It will use the entire array.- Parameters:
array- The array to which data will be written. It must not benull.
-
FixedArrayOutputStream
public FixedArrayOutputStream(@NotNull byte[] array, int pos, int len)
Creates a new output stream that will write data to the provided array. It will use the specified portion of the array.- Parameters:
array- The array to which data will be written. It must not benull.pos- The position at which to start writing data. It must be greater than or equal to zero and less than or equal to the length of the array.len- The maximum number of bytes that may be written. It must be greater than or equal to zero and less than or equal to the difference between the length of the array and the providedposvalue.
-
-
Method Detail
-
getBackingArray
@NotNull public byte[] getBackingArray()
Retrieves the backing array used by this output stream.- Returns:
- The backing array used by this output stream.
-
getInitialPosition
public int getInitialPosition()
Retrieves the initial position provided when this output stream was created.- Returns:
- The initial position provided when this output stream was created.
-
getLength
public int getLength()
Retrieves the maximum number of bytes that may be written to this output stream.- Returns:
- The maximum number of bytes that may be written to this output stream.
-
getBytesWritten
public int getBytesWritten()
Retrieves the number of bytes that have been written so far to this output stream.- Returns:
- The number of bytes that have been written so far to this output stream.
-
close
public void close()
Closes this output stream. This has no effect.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream
-
flush
public void flush()
Flushes this output stream. This has no effect.- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream
-
write
public void write(int b) throws java.io.IOException
Writes the provided byte to this output stream.- Specified by:
writein classjava.io.OutputStream- Parameters:
b- The byte to be written.- Throws:
java.io.IOException- If an attempt was made to write beyond the end of the array.
-
write
public void write(@NotNull byte[] b) throws java.io.IOException
Writes the contents of the provided array to this output stream.- Overrides:
writein classjava.io.OutputStream- Parameters:
b- The byte array containing the data to be written. It must not benull.- Throws:
java.io.IOException- If an attempt was made to write beyond the end of the array.
-
write
public void write(@NotNull byte[] b, int off, int len) throws java.io.IOException
Writes the contents of the provided array to this output stream.- Overrides:
writein classjava.io.OutputStream- Parameters:
b- The byte array containing the data to be written. It must not benull.off- The offset within the provided array of the beginning of the data to be written. It must be greater than or equal to zero and less than or equal to the length of the provided array.len- The number of bytes to be written. It must be greater than or equal to zero, and the sum ofoffandlenmust be less than the length of the provided array.- Throws:
java.io.IOException- If an attempt was made to write beyond the end of the array.
-
-