org.bouncycastle.bcpg

## Class BCPGOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.bouncycastle.bcpg.BCPGOutputStream

All Implemented Interfaces:
  java.io.Closeable, java.io.Flushable, CompressionAlgorithmTags, PacketTags

    public class BCPGOutputStream
    extends java.io.OutputStream
    implements PacketTags, CompressionAlgorithmTags

Basic output stream.

### Field Summary

### Fields inherited from interface org.bouncycastle.bcpg.PacketTags

`COMPRESSED_DATA, EXPERIMENTAL_1, EXPERIMENTAL_2, EXPERIMENTAL_3, EXPERIMENTAL_4, LITERAL_DATA, MARKER, MOD_DETECTION_CODE, ONE_PASS_SIGNATURE, PUBLIC_KEY, PUBLIC_KEY_ENC_SESSION, PUBLIC_SUBKEY, RESERVED, SECRET_KEY, SECRET_SUBKEY, SIGNATURE, SYM_ENC_INTEGRITY_PRO, SYMMETRIC_KEY_ENC, SYMMETRIC_KEY_ENC_SESSION, TRUST, USER_ATTRIBUTE, USER_ID`

### Fields inherited from interface org.bouncycastle.bcpg.CompressionAlgorithmTags

`BZIP2, UNCOMPRESSED, ZIP, ZLIB`

### Constructor Summary

Constructors
Constructor and Description
`BCPGOutputStream(java.io.OutputStream out)`
`BCPGOutputStream(java.io.OutputStream out, int tag)` Create a stream representing an old style partial object.
`BCPGOutputStream(java.io.OutputStream out, int tag, byte[] buffer)` Create a new style partial input stream buffered into chunks.
`BCPGOutputStream(java.io.OutputStream out, int tag, long length)`
`BCPGOutputStream(java.io.OutputStream out, int tag, long length, boolean oldFormat)` Create a stream representing a general packet.

### Method Summary

Methods
`void` `close()`
`void` `finish()` Finish writing out the current packet without closing the underlying stream.
`void` `flush()` Flush the underlying stream.
`void` `write(byte[] bytes, int off, int len)`
`void` `write(int b)`
`void` `writeObject(BCPGObject o)`
`void` `writePacket(ContainedPacket p)`

### 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

#### BCPGOutputStream

    public BCPGOutputStream(java.io.OutputStream out)

#### BCPGOutputStream

    public BCPGOutputStream(java.io.OutputStream out,
                    int tag)
                     throws java.io.IOException

Create a stream representing an old style partial object.

Parameters:
  `tag` - the packet tag for the object.
Throws:
  `java.io.IOException`

#### BCPGOutputStream

    public BCPGOutputStream(java.io.OutputStream out,
                    int tag,
                    long length,
                    boolean oldFormat)
                     throws java.io.IOException

Create a stream representing a general packet.

Parameters:
  `out` -
  `tag` -
  `length` -
  `oldFormat` -
Throws:
  `java.io.IOException`

#### BCPGOutputStream

    public BCPGOutputStream(java.io.OutputStream out,
                    int tag,
                    long length)
                     throws java.io.IOException

Parameters:
  `tag` -
  `length` -
Throws:
  `java.io.IOException`

#### BCPGOutputStream

    public BCPGOutputStream(java.io.OutputStream out,
                    int tag,
                    byte[] buffer)
                     throws java.io.IOException

Create a new style partial input stream buffered into chunks.

Parameters:
  `out` - output stream to write to.
  `tag` - packet tag.
  `buffer` - size of chunks making up the packet.
Throws:
  `java.io.IOException`

### 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[] bytes,
             int off,
             int len)
               throws java.io.IOException

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

#### writePacket

    public void writePacket(ContainedPacket p)
                     throws java.io.IOException

Throws:
  `java.io.IOException`

#### writeObject

    public void writeObject(BCPGObject o)
                     throws java.io.IOException

Throws:
  `java.io.IOException`

#### flush

    public void flush()
               throws java.io.IOException

Flush the underlying stream.

Specified by:
  `flush` in interface `java.io.Flushable`
Overrides:
  `flush` in class `java.io.OutputStream`
Throws:
  `java.io.IOException`

#### finish

    public void finish()
                throws java.io.IOException

Finish writing out the current packet without closing the underlying stream.

Throws:
  `java.io.IOException`

#### close

    public void close()
               throws java.io.IOException

Specified by:
  `close` in interface `java.io.Closeable`
Overrides:
  `close` in class `java.io.OutputStream`
Throws:
  `java.io.IOException`