Package groovy.io

# Class PlatformLineWriter

java.lang.Object
java.io.Writer
groovy.io.PlatformLineWriter

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

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.

- ## Field Summary

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

  `lock`

- ## Constructor Summary

  Constructors
  Constructor
  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.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `flush()`
  `void`
  `write(char[] cbuf, int off, int len)`
  Writes characters while converting line endings to the platform format.

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

  `append, append, append, nullWriter, write, write, write, write`

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

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

- ## Constructor Details

  - ### PlatformLineWriter

    public PlatformLineWriter(Writer out)
    Creates a writer that normalizes line endings for the platform.
    Parameters:
      `out` - the underlying writer

  - ### PlatformLineWriter

    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 Details

  - ### write

    public void write(char[] cbuf, int off, int len) throws IOException
    Writes characters while converting line endings to the platform format.
    Specified by:
      `write` in class `Writer`
    Parameters:
      `cbuf` - the source buffer
      `off` - the buffer offset
      `len` - the number of characters to write
    Throws:
      `IOException` - if an I/O error occurs

  - ### flush

    public void flush() throws IOException
    Specified by:
      `flush` in interface `Flushable`
    Specified by:
      `flush` in class `Writer`
    Throws:
      `IOException`

  - ### close

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