Class 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 
      Modifier and Type Field Description
      private static int BOM_SIZE  
      (package private) java.io.PushbackInputStream internalIn  
      (package private) java.io.InputStreamReader internalIn2  
      private static java.nio.charset.Charset UTF16BE  
      private static java.nio.charset.Charset UTF16LE  
      private static java.nio.charset.Charset UTF8  
      • Fields inherited from class java.io.Reader

        lock
    • Constructor Summary

      Constructors 
      Constructor Description
      UnicodeReader​(java.io.InputStream in)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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
    • Field Detail

      • UTF8

        private static final java.nio.charset.Charset UTF8
      • UTF16BE

        private static final java.nio.charset.Charset UTF16BE
      • UTF16LE

        private static final java.nio.charset.Charset UTF16LE
      • internalIn

        java.io.PushbackInputStream internalIn
      • internalIn2

        java.io.InputStreamReader internalIn2
    • 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.
        Returns:
        the name of the character encoding being used by this stream.
      • 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 - if InputStream cannot be created
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        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