public class InputStreamReader extends Reader
file.encoding
. The only encodings that are guaranteed to
be availalbe are "8859_1" (the Latin-1 character set) and "UTF8".
Unforunately, Java does not provide a mechanism for listing the
ecodings that are supported in a given implementation.
Here is a list of standard encoding names that may be available:
It is recommended that applications do not use
InputStreamReader
's
directly. Rather, for efficiency purposes, an object of this class
should be wrapped by a BufferedReader
.
Due to a deficiency the Java class library design, there is no standard way for an application to install its own byte-character encoding.
BufferedReader
,
InputStream
Constructor and Description |
---|
InputStreamReader(InputStream in)
This method initializes a new instance of
InputStreamReader
to read from the specified stream using the default encoding. |
InputStreamReader(InputStream in,
Charset charset)
Creates an InputStreamReader that uses a decoder of the given
charset to decode the bytes in the InputStream into
characters.
|
InputStreamReader(InputStream in,
CharsetDecoder decoder)
Creates an InputStreamReader that uses the given charset decoder
to decode the bytes in the InputStream into characters.
|
InputStreamReader(InputStream in,
String encoding_name)
This method initializes a new instance of
InputStreamReader
to read from the specified stream using a caller supplied character
encoding scheme. |
Modifier and Type | Method and Description |
---|---|
void |
close()
This method closes this stream, as well as the underlying
InputStream . |
String |
getEncoding()
This method returns the name of the encoding that is currently in use
by this object.
|
int |
read()
This method reads a single character of data from the stream.
|
int |
read(char[] buf,
int offset,
int length)
This method reads up to
length characters from the stream into
the specified array starting at index offset into the
array. |
boolean |
ready()
This method checks to see if the stream is read to be read.
|
public InputStreamReader(InputStream in)
InputStreamReader
to read from the specified stream using the default encoding.in
- The InputStream
to read frompublic InputStreamReader(InputStream in, String encoding_name) throws UnsupportedEncodingException
InputStreamReader
to read from the specified stream using a caller supplied character
encoding scheme. Note that due to a deficiency in the Java language
design, there is no way to determine which encodings are supported.in
- The InputStream
to read fromencoding_name
- The name of the encoding scheme to useUnsupportedEncodingException
- If the encoding scheme
requested is not available.public InputStreamReader(InputStream in, Charset charset)
public InputStreamReader(InputStream in, CharsetDecoder decoder)
public void close() throws IOException
InputStream
.close
in interface Closeable
close
in interface AutoCloseable
close
in class Reader
IOException
- If an error occurspublic String getEncoding()
null
.public boolean ready() throws IOException
true
if is, or false
if it is not.
If the stream is not ready to be read, it could (although is not required
to) block on the next read attempt.ready
in class Reader
true
if the stream is ready to be read,
false
otherwiseIOException
- If an error occurspublic int read(char[] buf, int offset, int length) throws IOException
length
characters from the stream into
the specified array starting at index offset
into the
array.read
in class Reader
buf
- The character array to recieve the data readoffset
- The offset into the array to start storing characterslength
- The requested number of characters to read.IOException
- If an error occurspublic int read() throws IOException
read
in class Reader
IOException
- If an error occurs