Package org.codehaus.plexus.util

## Class ReaderFactory

- java.lang.Object
- - org.codehaus.plexus.util.ReaderFactory

    public class ReaderFactory
    extends java.lang.Object

Utility to create Readers from streams, with explicit encoding choice: platform default, XML, or specified.

Since:
  1.4.3
Version:
  $Id$
Author:
  Herve Boutemy
See Also:
  `Charset`, Supported encodings

### Field Summary

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

Constructors
`ReaderFactory()`

### Method Summary

All Methods Static Methods Concrete Methods
`static java.io.Reader` `newPlatformReader​(java.io.File file)` Create a new Reader with default platform encoding.
`static java.io.Reader` `newPlatformReader​(java.io.InputStream in)` Create a new Reader with default platform encoding.
`static java.io.Reader` `newPlatformReader​(java.net.URL url)` Create a new Reader with default platform encoding.
`static java.io.Reader` `newReader​(java.io.File file, java.lang.String encoding)` Create a new Reader with specified encoding.
`static java.io.Reader` `newReader​(java.io.InputStream in, java.lang.String encoding)` Create a new Reader with specified encoding.
`static java.io.Reader` `newReader​(java.net.URL url, java.lang.String encoding)` Create a new Reader with specified encoding.
`static XmlStreamReader` `newXmlReader​(java.io.File file)` Create a new Reader with XML encoding detection rules.
`static XmlStreamReader` `newXmlReader​(java.io.InputStream in)` Create a new Reader with XML encoding detection rules.
`static XmlStreamReader` `newXmlReader​(java.net.URL url)` Create a new Reader 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

#### ReaderFactory

    public ReaderFactory()

### Method Detail

#### newXmlReader

    public static XmlStreamReader newXmlReader​(java.io.InputStream in)
                                        throws java.io.IOException

Create a new Reader with XML encoding detection rules.

Parameters:
  `in` - not null input stream.
Returns:
  an XML reader instance for the input stream.
Throws:
  `java.io.IOException` - if any.
See Also:
  `XmlStreamReader`

#### newXmlReader

    public static XmlStreamReader newXmlReader​(java.io.File file)
                                        throws java.io.IOException

Create a new Reader with XML encoding detection rules.

Parameters:
  `file` - not null file.
Returns:
  an XML reader instance for the input file.
Throws:
  `java.io.IOException` - if any.
See Also:
  `XmlStreamReader`

#### newXmlReader

    public static XmlStreamReader newXmlReader​(java.net.URL url)
                                        throws java.io.IOException

Create a new Reader with XML encoding detection rules.

Parameters:
  `url` - not null url.
Returns:
  an XML reader instance for the input url.
Throws:
  `java.io.IOException` - if any.
See Also:
  `XmlStreamReader`

#### newPlatformReader

    public static java.io.Reader newPlatformReader​(java.io.InputStream in)

Create a new Reader with default platform encoding.

Parameters:
  `in` - not null input stream.
Returns:
  a reader instance for the input stream using the default platform charset.
See Also:
  `Charset.defaultCharset()`

#### newPlatformReader

    public static java.io.Reader newPlatformReader​(java.io.File file)
                                            throws java.io.FileNotFoundException

Create a new Reader with default platform encoding.

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

#### newPlatformReader

    public static java.io.Reader newPlatformReader​(java.net.URL url)
                                            throws java.io.IOException

Create a new Reader with default platform encoding.

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

#### newReader

    public static java.io.Reader newReader​(java.io.InputStream in,
                                           java.lang.String encoding)
                                    throws java.io.UnsupportedEncodingException

Create a new Reader with specified encoding.

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

#### newReader

    public static java.io.Reader newReader​(java.io.File file,
                                           java.lang.String encoding)
                                    throws java.io.FileNotFoundException,
                                           java.io.UnsupportedEncodingException

Create a new Reader with specified encoding. Note that there is no buffering on this reader, which favours clients that read into large buffers (8K+).

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

#### newReader

    public static java.io.Reader newReader​(java.net.URL url,
                                           java.lang.String encoding)
                                    throws java.io.IOException

Create a new Reader with specified encoding.

Parameters:
  `url` - not null url.
  `encoding` - not null supported encoding.
Returns:
  a reader instance for the input url using the given encoding.
Throws:
  `java.io.IOException` - if any.
See Also:
  Supported encodings