org.postgresql.largeobject

## Class BlobOutputStream

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

All Implemented Interfaces:
  java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class BlobOutputStream
    extends java.io.OutputStream

This implements a basic output stream that writes to a LargeObject

### Constructor Summary

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

### Method Summary

Methods
`void` `close()` Closes this output stream and releases any system resources associated with this stream.
`void` `flush()` Flushes this output stream and forces any buffered output bytes to be written out.
`void` `write(byte[] buf, int off, int len)`
`void` `write(int b)`

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

`write`

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

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

### Constructor Detail

#### BlobOutputStream

    public BlobOutputStream(LargeObject lo)

Create an OutputStream to a large object

Parameters:
  `lo` - LargeObject

#### BlobOutputStream

    public BlobOutputStream(LargeObject lo,
                    int bsize)

Create an OutputStream to a large object

Parameters:
  `lo` - LargeObject
  `bsize` - The size of the buffer used to improve performance

### Method Detail

#### write

    public void write(int b)
               throws java.io.IOException

Specified by:
  `write` in class `java.io.OutputStream`
Throws:
  `java.io.IOException`

#### write

    public void write(byte[] buf,
             int off,
             int len)
               throws java.io.IOException

Overrides:
  `write` in class `java.io.OutputStream`
Throws:
  `java.io.IOException`

#### flush

    public void flush()
               throws java.io.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 `java.io.Flushable`
Overrides:
  `flush` in class `java.io.OutputStream`
Throws:
  `java.io.IOException` - if an I/O error occurs.

#### close

    public void close()
               throws java.io.IOException

Closes this output stream and releases any system resources associated with this stream. The general contract of `close` is that it closes the output stream. A closed stream cannot perform output operations and cannot be reopened.

The `close` method of `OutputStream` does nothing.

Specified by:
  `close` in interface `java.io.Closeable`
Specified by:
  `close` in interface `java.lang.AutoCloseable`
Overrides:
  `close` in class `java.io.OutputStream`
Throws:
  `java.io.IOException` - if an I/O error occurs.