org.apache.pdfbox.pdfwriter

## Class COSStandardOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - java.io.FilterOutputStream
    - - org.apache.pdfbox.pdfwriter.COSStandardOutputStream

All Implemented Interfaces:
  Closeable, Flushable, AutoCloseable

    public class COSStandardOutputStream
    extends FilterOutputStream

simple output stream with some minor features for generating "pretty" PDF files.

Author:
  Michael Traut

### Field Summary

Fields
`static byte[]` `CRLF` To be used when 2 byte sequence is enforced.
`static byte[]` `EOL` standard line separator.
`static byte[]` `LF` Line feed character.

### Fields inherited from class java.io.FilterOutputStream

`out`

### Constructor Summary

Constructors
Constructor and Description
`COSStandardOutputStream(OutputStream out)` Constructor.
`COSStandardOutputStream(OutputStream out, int position)` Deprecated. use `COSStandardOutputStream(java.io.OutputStream, long)`
`COSStandardOutputStream(OutputStream out, long position)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`long` `getPos()` This will get the current position in the stream.
`boolean` `isOnNewLine()` This will tell if we are on a newline.
`void` `setOnNewLine(boolean newOnNewLine)` This will set a flag telling if we are on a newline.
`void` `write(byte[] b, int off, int len)` This will write some byte to the stream.
`void` `write(int b)` This will write a single byte to the stream.
`void` `writeCRLF()` This will write a CRLF to the stream.
`void` `writeEOL()` This will write an EOL to the stream.
`void` `writeLF()` This will write a Linefeed to the stream.

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

`close, flush, write`

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

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

### Field Detail

#### CRLF

    public static final byte[] CRLF

To be used when 2 byte sequence is enforced.

#### LF

    public static final byte[] LF

Line feed character.

#### EOL

    public static final byte[] EOL

standard line separator.

### Constructor Detail

#### COSStandardOutputStream

    public COSStandardOutputStream(OutputStream out)

Constructor.

Parameters:
  `out` - The underlying stream to write to.

#### COSStandardOutputStream

    @Deprecated
    public COSStandardOutputStream(OutputStream out,
                                               int position)

Deprecated. use `COSStandardOutputStream(java.io.OutputStream, long)`
Constructor.

Parameters:
  `out` - The underlying stream to write to.
  `position` - The current position of output stream.

#### COSStandardOutputStream

    public COSStandardOutputStream(OutputStream out,
                                   long position)

Constructor.

Parameters:
  `out` - The underlying stream to write to.
  `position` - The current position of output stream.

### Method Detail

#### getPos

    public long getPos()

This will get the current position in the stream.

Returns:
  The current position in the stream.

#### isOnNewLine

    public boolean isOnNewLine()

This will tell if we are on a newline.

Returns:
  true If we are on a newline.

#### setOnNewLine

    public void setOnNewLine(boolean newOnNewLine)

This will set a flag telling if we are on a newline.

Parameters:
  `newOnNewLine` - The new value for the onNewLine attribute.

#### write

    public void write(byte[] b,
                      int off,
                      int len)
               throws IOException

This will write some byte to the stream.

Overrides:
  `write` in class `FilterOutputStream`
Parameters:
  `b` - The source byte array.
  `off` - The offset into the array to start writing.
  `len` - The number of bytes to write.
Throws:
  `IOException` - If the underlying stream throws an exception.

#### write

    public void write(int b)
               throws IOException

This will write a single byte to the stream.

Overrides:
  `write` in class `FilterOutputStream`
Parameters:
  `b` - The byte to write to the stream.
Throws:
  `IOException` - If there is an error writing to the underlying stream.

#### writeCRLF

    public void writeCRLF()
                   throws IOException

This will write a CRLF to the stream.

Throws:
  `IOException` - If there is an error writing the data to the stream.

#### writeEOL

    public void writeEOL()
                  throws IOException

This will write an EOL to the stream.

Throws:
  `IOException` - If there is an error writing to the stream

#### writeLF

    public void writeLF()
                 throws IOException

This will write a Linefeed to the stream.

Throws:
  `IOException` - If there is an error writing to the underlying stream.