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$
Author:
  Herve Boutemy
See Also:
  `Charset`, Supported encodings

### Field Summary

Fields
`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

Constructors
Constructor and Description
`WriterFactory()`

### Method Summary

All Methods Static Methods Concrete Methods
`static Writer` `newPlatformWriter(File file)` Create a new Writer with default platform encoding.
`static Writer` `newPlatformWriter(OutputStream out)` Create a new Writer with default platform 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 platform 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 platform 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