public class UnicodeBomInputStream
extends InputStream
UnicodeBomInputStream class wraps any
InputStream and detects the presence of any Unicode BOM
(Byte Order Mark) at its beginning, as defined by
RFC 3629 - UTF-8, a transformation format of ISO 10646
The Unicode FAQ defines 5 types of BOMs:
00 00 FE FF = UTF-32, big-endian
FF FE 00 00 = UTF-32, little-endian
FE FF = UTF-16, big-endian
FF FE = UTF-16, little-endian
EF BB BF = UTF-8
Use the getBOM() method to know whether a BOM has been detected
or not.
Use the skipBOM() method to remove the detected BOM from the
wrapped InputStream object.
| Modifier and Type | Class and Description |
|---|---|
static class |
UnicodeBomInputStream.BOM
Type safe enumeration class that describes the different types of Unicode
BOMs.
|
| Constructor and Description |
|---|
UnicodeBomInputStream(InputStream inputStream)
Constructs a new
UnicodeBomInputStream that wraps the
specified InputStream. |
| Modifier and Type | Method and Description |
|---|---|
int |
available() |
void |
close() |
UnicodeBomInputStream.BOM |
getBOM()
Returns the
UnicodeBomInputStream.BOM that was detected in the wrapped
InputStream object. |
static UnicodeBomInputStream.BOM |
getBom(String value) |
void |
mark(int readlimit) |
boolean |
markSupported() |
int |
read() |
int |
read(byte[] b) |
int |
read(byte[] b,
int off,
int len) |
void |
reset() |
long |
skip(long n) |
UnicodeBomInputStream |
skipBOM()
Skips the
UnicodeBomInputStream.BOM that was found in the wrapped
InputStream object. |
public UnicodeBomInputStream(InputStream inputStream)
throws IOException
UnicodeBomInputStream that wraps the
specified InputStream.inputStream - an InputStream.IOException - on reading from the specified InputStream
when trying to detect the Unicode BOM.public static UnicodeBomInputStream.BOM getBom(String value) throws Exception
Exceptionpublic int available()
throws IOException
available in class InputStreamIOExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class InputStreamIOExceptionpublic final UnicodeBomInputStream.BOM getBOM()
UnicodeBomInputStream.BOM that was detected in the wrapped
InputStream object.UnicodeBomInputStream.BOM value.public void mark(int readlimit)
mark in class InputStreampublic boolean markSupported()
markSupported in class InputStreampublic int read()
throws IOException
read in class InputStreamIOExceptionpublic int read(byte[] b)
throws IOException,
NullPointerException
read in class InputStreamIOExceptionNullPointerExceptionpublic int read(byte[] b,
int off,
int len)
throws IOException,
NullPointerException
read in class InputStreamIOExceptionNullPointerExceptionpublic void reset()
throws IOException
reset in class InputStreamIOExceptionpublic long skip(long n)
throws IOException
skip in class InputStreamIOExceptionpublic final UnicodeBomInputStream skipBOM() throws IOException
UnicodeBomInputStream.BOM that was found in the wrapped
InputStream object.UnicodeBomInputStream.IOException - when trying to skip the BOM from the wrapped InputStream object.Copyright © 2010-2020 Toolsverse. All Rights Reserved.