org.yaml.snakeyaml.reader

## Class UnicodeReader

- java.lang.Object
- - java.io.Reader
  - - org.yaml.snakeyaml.reader.UnicodeReader

All Implemented Interfaces:
  java.io.Closeable, java.lang.AutoCloseable, java.lang.Readable

    public class UnicodeReader
    extends java.io.Reader

Generic unicode textreader, which will use BOM mark to identify the encoding to be used. If BOM is not found then use a given default or system encoding.

### Field Summary

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

`lock`

### Constructor Summary

Constructors
Constructor and Description
`UnicodeReader(java.io.InputStream in)`

### Method Summary

Methods
`void` `close()`
`java.lang.String` `getEncoding()` Get stream encoding or NULL if stream is uninitialized.
`protected void` `init()` Read-ahead four bytes and check for BOM marks.
`int` `read(char[] cbuf, int off, int len)`

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

`mark, markSupported, read, read, read, ready, reset, skip`

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

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

### Constructor Detail

#### UnicodeReader

    public UnicodeReader(java.io.InputStream in)

Parameters:
  `in` - InputStream to be read

### Method Detail

#### getEncoding

    public java.lang.String getEncoding()

Get stream encoding or NULL if stream is uninitialized. Call init() or read() method to initialize it.

#### init

    protected void init()
                 throws java.io.IOException

Read-ahead four bytes and check for BOM marks. Extra bytes are unread back to the stream, only BOM bytes are skipped.

Throws:
  `java.io.IOException`

#### close

    public void close()
               throws java.io.IOException

Specified by:
  `close` in interface `java.io.Closeable`
Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in class `java.io.Reader`
Throws:
  `java.io.IOException`

#### read

    public int read(char[] cbuf,
           int off,
           int len)
             throws java.io.IOException

Specified by:
  `read` in class `java.io.Reader`
Throws:
  `java.io.IOException`