|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.io.InputStream
org.pentaho.platform.dataaccess.datasource.wizard.csv.UnicodeBOMInputStream
public class UnicodeBOMInputStream
The 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.
| Nested Class Summary | |
|---|---|
static class |
UnicodeBOMInputStream.BOM
Type safe enumeration class that describes the different types of Unicode BOMs. |
| Constructor Summary | |
|---|---|
UnicodeBOMInputStream(java.io.InputStream inputStream)
Constructs a new UnicodeBOMInputStream that wraps the
specified InputStream. |
|
| Method Summary | |
|---|---|
int |
available()
|
void |
close()
|
UnicodeBOMInputStream.BOM |
getBOM()
Returns the BOM that was detected in the wrapped
InputStream object. |
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 BOM that was found in the wrapped
InputStream object. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public UnicodeBOMInputStream(java.io.InputStream inputStream)
throws java.lang.NullPointerException,
java.io.IOException
UnicodeBOMInputStream that wraps the
specified InputStream.
inputStream - an InputStream.
java.lang.NullPointerException - when inputStream is
null.
java.io.IOException - on reading from the specified InputStream
when trying to detect the Unicode BOM.| Method Detail |
|---|
public final UnicodeBOMInputStream.BOM getBOM()
BOM that was detected in the wrapped
InputStream object.
BOM value.
public final UnicodeBOMInputStream skipBOM()
throws java.io.IOException
BOM that was found in the wrapped
InputStream object.
UnicodeBOMInputStream.
java.io.IOException - when trying to skip the BOM from the wrapped
InputStream object.
public int read()
throws java.io.IOException
read in class java.io.InputStreamjava.io.IOException
public int read(byte[] b)
throws java.io.IOException,
java.lang.NullPointerException
read in class java.io.InputStreamjava.io.IOException
java.lang.NullPointerException
public int read(byte[] b,
int off,
int len)
throws java.io.IOException,
java.lang.NullPointerException
read in class java.io.InputStreamjava.io.IOException
java.lang.NullPointerException
public long skip(long n)
throws java.io.IOException
skip in class java.io.InputStreamjava.io.IOException
public int available()
throws java.io.IOException
available in class java.io.InputStreamjava.io.IOException
public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in class java.io.InputStreamjava.io.IOExceptionpublic void mark(int readlimit)
mark in class java.io.InputStream
public void reset()
throws java.io.IOException
reset in class java.io.InputStreamjava.io.IOExceptionpublic boolean markSupported()
markSupported in class java.io.InputStream
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||