Package org.postgresql.largeobject

# Class BlobOutputStream

java.lang.Object
java.io.OutputStream
org.postgresql.largeobject.BlobOutputStream

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`

public class BlobOutputStream extends OutputStream
This implements a basic output stream that writes to a LargeObject.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BlobOutputStream(LargeObject lo)`
  Create an OutputStream to a large object.
  `BlobOutputStream(LargeObject lo, int bufferSize)`
  Create an OutputStream to a large object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `flush()`
  Flushes this output stream and forces any buffered output bytes to be written out.
  `void`
  `write(byte[] b, int off, int len)`
  `void`
  `write(int b)`

  ### Methods inherited from class java.io.OutputStream

  `nullOutputStream, write`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### BlobOutputStream

    public BlobOutputStream(LargeObject lo)
    Create an OutputStream to a large object.
    Parameters:
      `lo` - LargeObject

  - ### BlobOutputStream

    public BlobOutputStream(LargeObject lo, int bufferSize)
    Create an OutputStream to a large object.
    Parameters:
      `lo` - LargeObject
      `bufferSize` - The size of the buffer for single-byte writes

- ## Method Details

  - ### write

    public void write(int b) throws IOException
    Specified by:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(byte[] b, int off, int len) throws IOException
    Overrides:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### flush

    public void flush() throws IOException
    Flushes this output stream and forces any buffered output bytes to be written out. The general contract of `flush` is that calling it is an indication that, if any bytes previously written have been buffered by the implementation of the output stream, such bytes should immediately be written to their intended destination.
    Specified by:
      `flush` in interface `Flushable`
    Overrides:
      `flush` in class `OutputStream`
    Throws:
      `IOException` - if an I/O error occurs.

  - ### close

    public void close() throws IOException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Overrides:
      `close` in class `OutputStream`
    Throws:
      `IOException`