## org.codehaus.plexus.util
Class WriterFactory

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

    public class WriterFactory

extends Object

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

Since:
  1.4.4
Version:
  $Id: WriterFactory.java 8289 2009-07-18 17:27:30Z hboutemy $
Author:
  Herve Boutemy
See Also:
  `Charset`, Supported encodings

Field Summary
`static String` `FILE_ENCODING` The `file.encoding` System Property.
`static String` `ISO_8859_1` ISO Latin Alphabet #1, also known as ISO-LATIN-1.
`static String` `US_ASCII` Seven-bit ASCII, also known as ISO646-US, also known as the Basic Latin block of the Unicode character set.
`static 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 String` `UTF_16BE` Sixteen-bit Unicode Transformation Format, big-endian byte order.
`static String` `UTF_16LE` Sixteen-bit Unicode Transformation Format, little-endian byte order.
`static String` `UTF_8` Eight-bit Unicode Transformation Format.

Constructor Summary
`WriterFactory()`

Method Summary
`static Writer` `newPlatformWriter(File file)` Create a new Writer with default plaform encoding.
`static Writer` `newPlatformWriter(OutputStream out)` Create a new Writer with default plaform encoding.
`static Writer` `newWriter(File file, String encoding)` Create a new Writer with specified encoding.
`static Writer` `newWriter(OutputStream out, String encoding)` Create a new Writer with specified encoding.
`static XmlStreamWriter` `newXmlWriter(File file)` Create a new Writer with XML encoding detection rules.
`static XmlStreamWriter` `newXmlWriter(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 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 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 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 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 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 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 String FILE_ENCODING

  The `file.encoding` System Property.

Constructor Detail

### WriterFactory

    public WriterFactory()

Method Detail

### newXmlWriter

    public static XmlStreamWriter newXmlWriter(OutputStream out)
                                        throws 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:
    `IOException` - if any.
  See Also:
    `XmlStreamWriter`

### newXmlWriter

    public static XmlStreamWriter newXmlWriter(File file)
                                        throws 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:
    `IOException` - if any.
  See Also:
    `XmlStreamWriter`

### newPlatformWriter

    public static Writer newPlatformWriter(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:
    `IOException` - if any.
  See Also:
    `Charset.defaultCharset()`

### newPlatformWriter

    public static Writer newPlatformWriter(File file)
                                    throws 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:
    `IOException` - if any.
  See Also:
    `Charset.defaultCharset()`

### newWriter

    public static Writer newWriter(OutputStream out,
                                   String encoding)
                            throws 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:
    `UnsupportedEncodingException` - if any.
  See Also:
    Supported encodings

### newWriter

    public static Writer newWriter(File file,
                                   String encoding)
                            throws UnsupportedEncodingException,
                                   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:
    `UnsupportedEncodingException` - if any.
    `FileNotFoundException` - if any.
  See Also:
    Supported encodings