|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
nectec.semantic.web.knowledge.application.framework.common.UnicodeInputStream
public class UnicodeInputStream
Modified from velocity 1.5
org.apache.velocity.io.UnicodeInputStream
This is an input stream that is unicode BOM aware. This allows you to e.g.
read Windows Notepad Unicode files as Velocity templates.
It allows you to check the actual encoding of a file by calling
getEncodingFromStream()
on the input stream reader.
This class is not thread safe! When more than one thread wants to use an
instance of UnicodeInputStream, the caller must provide synchronization.
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
Win2k Notepad: Unicode format = UTF-16LE
Nested Class Summary | |
---|---|
static class |
UnicodeInputStream.UnicodeBOM
Helper class to bundle encoding and BOM marker. |
Field Summary | |
---|---|
static UnicodeInputStream.UnicodeBOM |
UTF16BE_BOM
BOM Marker for UTF 16, big endian. |
static UnicodeInputStream.UnicodeBOM |
UTF16LE_BOM
BOM Marker for UTF 16, little endian. |
static UnicodeInputStream.UnicodeBOM |
UTF32BE_BOM
BOM Marker for UTF 32, big endian. |
static UnicodeInputStream.UnicodeBOM |
UTF32LE_BOM
BOM Marker for UTF 32, little endian. |
static UnicodeInputStream.UnicodeBOM |
UTF8_BOM
BOM Marker for UTF 8. |
Constructor Summary | |
---|---|
UnicodeInputStream(InputStream inputStream)
Creates a new UnicodeInputStream object. |
|
UnicodeInputStream(InputStream inputStream,
boolean skipBOM)
Creates a new UnicodeInputStream object. |
Method Summary | |
---|---|
int |
available()
|
void |
close()
|
String |
getEncodingFromStream()
Read encoding based on BOM. |
boolean |
isSkipBOM()
Returns true if the input stream discards the BOM. |
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)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final UnicodeInputStream.UnicodeBOM UTF8_BOM
public static final UnicodeInputStream.UnicodeBOM UTF16LE_BOM
public static final UnicodeInputStream.UnicodeBOM UTF16BE_BOM
public static final UnicodeInputStream.UnicodeBOM UTF32LE_BOM
public static final UnicodeInputStream.UnicodeBOM UTF32BE_BOM
Constructor Detail |
---|
public UnicodeInputStream(InputStream inputStream) throws IllegalStateException, IOException
inputStream
- The input stream to use for reading.
IllegalStateException
IOException
public UnicodeInputStream(InputStream inputStream, boolean skipBOM) throws IllegalStateException, IOException
inputStream
- The input stream to use for reading.skipBOM
- If this is set to true, a BOM read from the stream is
discarded. This parameter should normally be true.
IllegalStateException
IOException
Method Detail |
---|
public boolean isSkipBOM()
public String getEncodingFromStream()
IllegalStateException
- When a problem reading the BOM occured.public void close() throws IOException
close
in interface Closeable
close
in class InputStream
IOException
InputStream.close()
public int available() throws IOException
available
in class InputStream
IOException
InputStream.available()
public void mark(int readlimit)
mark
in class InputStream
InputStream.mark(int)
public boolean markSupported()
markSupported
in class InputStream
InputStream.markSupported()
public int read() throws IOException
read
in class InputStream
IOException
InputStream.read()
public int read(byte[] b) throws IOException
read
in class InputStream
IOException
InputStream.read(byte[])
public int read(byte[] b, int off, int len) throws IOException
read
in class InputStream
IOException
InputStream.read(byte[], int, int)
public void reset() throws IOException
reset
in class InputStream
IOException
InputStream.reset()
public long skip(long n) throws IOException
skip
in class InputStream
IOException
InputStream.skip(long)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |