## org.codehaus.plexus.util
Class WriterFactory

    java.lang.Object
      org.codehaus.plexus.util.WriterFactory

    public class WriterFactory

extends java.lang.Object

Utility to create Writers, with explicit encoding choice: platform default, XML, or specified.

Since:
  1.4.4
Version:
  $Id: WriterFactory.java 8010 2009-01-07 12:59:50Z vsiveton $
Author:
  Herve Boutemy
See Also:
  `Charset`, Supported encodings

Field Summary
`static java.lang.String` `FILE_ENCODING` The `file.encoding` System Property.
`static java.lang.String` `ISO_8859_1` ISO Latin Alphabet #1, also known as ISO-LATIN-1.
`static java.lang.String` `US_ASCII` Seven-bit ASCII, also known as ISO646-US, also known as the Basic Latin block of the Unicode character set.
`static java.lang.String` `UTF_16` Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output).
`static java.lang.String` `UTF_16BE` Sixteen-bit Unicode Transformation Format, big-endian byte order.
`static java.lang.String` `UTF_16LE` Sixteen-bit Unicode Transformation Format, little-endian byte order.
`static java.lang.String` `UTF_8` Eight-bit Unicode Transformation Format.

Constructor Summary
`WriterFactory()`

Method Summary
`static java.io.Writer` `newPlatformWriter(java.io.File file)` Create a new Writer with default plaform encoding.
`static java.io.Writer` `newPlatformWriter(java.io.OutputStream out)` Create a new Writer with default plaform encoding.
`static java.io.Writer` `newWriter(java.io.File file, java.lang.String encoding)` Create a new Writer with specified encoding.
`static java.io.Writer` `newWriter(java.io.OutputStream out, java.lang.String encoding)` Create a new Writer with specified encoding.
`static XmlStreamWriter` `newXmlWriter(java.io.File file)` Create a new Writer with XML encoding detection rules.
`static XmlStreamWriter` `newXmlWriter(java.io.OutputStream out)` Create a new Writer with XML encoding detection rules.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ISO_8859_1

    public static final java.lang.String ISO_8859_1

  ISO Latin Alphabet #1, also known as ISO-LATIN-1. Every implementation of the Java platform is required to support this character encoding.

  See Also:
    `Charset`, Constant Field Values

### US_ASCII

    public static final java.lang.String US_ASCII

  Seven-bit ASCII, also known as ISO646-US, also known as the Basic Latin block of the Unicode character set. Every implementation of the Java platform is required to support this character encoding.

  See Also:
    `Charset`, Constant Field Values

### UTF_16

    public static final java.lang.String UTF_16

  Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output). Every implementation of the Java platform is required to support this character encoding.

  See Also:
    `Charset`, Constant Field Values

### UTF_16BE

    public static final java.lang.String UTF_16BE

  Sixteen-bit Unicode Transformation Format, big-endian byte order. Every implementation of the Java platform is required to support this character encoding.

  See Also:
    `Charset`, Constant Field Values

### UTF_16LE

    public static final java.lang.String UTF_16LE

  Sixteen-bit Unicode Transformation Format, little-endian byte order. Every implementation of the Java platform is required to support this character encoding.

  See Also:
    `Charset`, Constant Field Values

### UTF_8

    public static final java.lang.String UTF_8

  Eight-bit Unicode Transformation Format. Every implementation of the Java platform is required to support this character encoding.

  See Also:
    `Charset`, Constant Field Values

### FILE_ENCODING

    public static final java.lang.String FILE_ENCODING

  The `file.encoding` System Property.

Constructor Detail

### WriterFactory

    public WriterFactory()

Method Detail

### newXmlWriter

    public static XmlStreamWriter newXmlWriter(java.io.OutputStream out)
                                        throws java.io.IOException

  Create a new Writer with XML encoding detection rules.

  Parameters:
    `out` - not null output stream.
  Returns:
    an XML writer instance for the output stream.
  Throws:
    `java.io.IOException` - if any.
  See Also:
    `XmlStreamWriter`

### newXmlWriter

    public static XmlStreamWriter newXmlWriter(java.io.File file)
                                        throws java.io.IOException

  Create a new Writer with XML encoding detection rules.

  Parameters:
    `file` - not null file.
  Returns:
    an XML writer instance for the output file.
  Throws:
    `java.io.IOException` - if any.
  See Also:
    `XmlStreamWriter`

### newPlatformWriter

    public static java.io.Writer newPlatformWriter(java.io.OutputStream out)

  Create a new Writer with default plaform encoding.

  Parameters:
    `out` - not null output stream.
  Returns:
    a writer instance for the output stream using the default platform charset.
  Throws:
    `java.io.IOException` - if any.
  See Also:
    `Charset.defaultCharset()`

### newPlatformWriter

    public static java.io.Writer newPlatformWriter(java.io.File file)
                                            throws java.io.IOException

  Create a new Writer with default plaform encoding.

  Parameters:
    `file` - not null file.
  Returns:
    a writer instance for the output file using the default platform charset.
  Throws:
    `java.io.IOException` - if any.
  See Also:
    `Charset.defaultCharset()`

### newWriter

    public static java.io.Writer newWriter(java.io.OutputStream out,
                                           java.lang.String encoding)
                                    throws java.io.UnsupportedEncodingException

  Create a new Writer with specified encoding.

  Parameters:
    `out` - not null output stream.
    `encoding` - not null supported encoding.
  Returns:
    a writer instance for the output stream using the given encoding.
  Throws:
    `java.io.UnsupportedEncodingException` - if any.
  See Also:
    Supported encodings

### newWriter

    public static java.io.Writer newWriter(java.io.File file,
                                           java.lang.String encoding)
                                    throws java.io.UnsupportedEncodingException,
                                           java.io.FileNotFoundException

  Create a new Writer with specified encoding.

  Parameters:
    `file` - not null file.
    `encoding` - not null supported encoding.
  Returns:
    a writer instance for the output file using the given encoding.
  Throws:
    `java.io.UnsupportedEncodingException` - if any.
    `java.io.FileNotFoundException` - if any.
  See Also:
    Supported encodings