Class BOMReader

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

    public class BOMReader
    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 Description
      BOMReader​(java.io.InputStream in, java.lang.String defaultEnc)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      java.lang.String getDefaultEncoding()  
      java.lang.String getEncoding()
      Get stream encoding or NULL if stream is uninitialized.
      java.lang.Boolean hasBOM()
      Returns if a BOM has been found at the start of the input stream or NULL if stream is uninitialized.
      void init()
      Read-ahead four bytes and check for BOM marks.
      int read​(char[] cbuf, int off, int len)  
      boolean ready()  
      • Methods inherited from class java.io.Reader

        mark, markSupported, nullReader, read, read, read, reset, skip, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BOMReader

        public BOMReader​(java.io.InputStream in,
                         java.lang.String defaultEnc)
        Parameters:
        in - inputstream to be read
        defaultEnc - default encoding if stream does not have BOM marker. Give NULL to use system-level default.
    • Method Detail

      • getDefaultEncoding

        public java.lang.String getDefaultEncoding()
      • ready

        public boolean ready()
                      throws java.io.IOException
        Overrides:
        ready in class java.io.Reader
        Throws:
        java.io.IOException
      • getEncoding

        public java.lang.String getEncoding()
        Get stream encoding or NULL if stream is uninitialized. Call init() or read() method to initialize it.
      • hasBOM

        public java.lang.Boolean hasBOM()
        Returns if a BOM has been found at the start of the input stream or NULL if stream is uninitialized. Call init() or read() method to initialize it.
      • init

        public 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.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