Package: groovy.io

## [Java] Class PlatformLineWriter

- groovy.io.PlatformLineWriter

-     public class PlatformLineWriter
      extends Writer

  A buffered writer that gobbles any \r characters and replaces every \n with a platform specific newline. In many places Groovy normalises streams to only have \n characters but when creating files that must be used by other platform-aware tools, you sometimes want the newlines to match what the platform expects.

- - ### Constructor Summary

    Constructors
    Constructor and description
    `PlatformLineWriter(Writer out)` Creates a writer that normalizes line endings for the platform.
    `PlatformLineWriter(Writer out, int sz)` Creates a writer that normalizes line endings for the platform.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `close()` Closes the stream, flushing it first. Once the stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously closed stream has no effect. throws: IOException If an I/O error occurs
    `` | `public void` | `flush()` Flushes the stream. If the stream has saved any characters from the various write() methods in a buffer, write them immediately to their intended destination. Then, if that destination is another character or byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams. If the intended destination of this stream is an abstraction provided by the underlying operating system, for example a file, then flushing the stream guarantees only that bytes previously written to the stream are passed to the operating system for writing; it does not guarantee that they are actually written to a physical device such as a disk drive. throws: IOException If an I/O error occurs
    `` | `public void` | `write(char[] cbuf, int off, int len)` Writes characters while converting line endings to the platform format.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Writer` | `append, append, append, append, append, append, close, equals, flush, getClass, hashCode, notify, notifyAll, nullWriter, toString, wait, wait, wait, write, write, write, write, write`

- - ### Constructor Detail

    - #### public PlatformLineWriter(Writer out)

      Creates a writer that normalizes line endings for the platform.

      Parameters:
        `out` - the underlying writer

    - #### public PlatformLineWriter(Writer out, int sz)

      Creates a writer that normalizes line endings for the platform.

      Parameters:
        `out` - the underlying writer
        `sz` - the output buffer size

  - ### Method Detail

    - #### public void close()

      Closes the stream, flushing it first. Once the stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously closed stream has no effect.

      throws:
        IOException If an I/O error occurs

    - #### public void flush()

      Flushes the stream. If the stream has saved any characters from the various write() methods in a buffer, write them immediately to their intended destination. Then, if that destination is another character or byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams.

      If the intended destination of this stream is an abstraction provided by the underlying operating system, for example a file, then flushing the stream guarantees only that bytes previously written to the stream are passed to the operating system for writing; it does not guarantee that they are actually written to a physical device such as a disk drive.

      throws:
        IOException If an I/O error occurs

    - #### public void write(char[] cbuf, int off, int len)

      Writes characters while converting line endings to the platform format.

      throws:
        IOException if an I/O error occurs
      Parameters:
        `cbuf` - the source buffer
        `off` - the buffer offset
        `len` - the number of characters to write