public class InputStreamReader extends Reader
InputStreamReader
contains a buffer
of bytes read from the source stream and converts these into characters as
needed. The buffer size is 8K.OutputStreamWriter
Constructor and Description |
---|
InputStreamReader(InputStream in)
|
InputStreamReader(InputStream in,
Charset charset)
Constructs a new InputStreamReader on the InputStream
in and
Charset charset . |
InputStreamReader(InputStream in,
CharsetDecoder dec)
Constructs a new InputStreamReader on the InputStream
in and
CharsetDecoder dec . |
InputStreamReader(InputStream in,
String enc)
Constructs a new InputStreamReader on the InputStream
in . |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this reader.
|
String |
getEncoding()
Returns the name of the encoding used to convert bytes into characters.
|
int |
read()
Reads a single character from this reader and returns it as an integer
with the two higher-order bytes set to 0.
|
int |
read(char[] buf,
int offset,
int length)
Reads at most
length characters from this reader and stores them
at position offset in the character array buf . |
boolean |
ready()
Indicates whether this reader is ready to be read without blocking.
|
mark, markSupported, nullReader, read, read, reset, skip, transferTo
public InputStreamReader(InputStream in)
InputStreamReader
on the InputStream
in
. This constructor sets the character converter to the encoding
specified in the "file.encoding" property and falls back to ISO 8859_1
(ISO-Latin-1) if the property doesn't exist.in
- the input stream from which to read characters.public InputStreamReader(InputStream in, String enc) throws UnsupportedEncodingException
in
. The
character converter that is used to decode bytes into characters is
identified by name by enc
. If the encoding cannot be found, an
UnsupportedEncodingException error is thrown.in
- the InputStream from which to read characters.enc
- identifies the character converter to use.NullPointerException
- if enc
is null
.UnsupportedEncodingException
- if the encoding specified by enc
cannot be found.public InputStreamReader(InputStream in, CharsetDecoder dec)
in
and
CharsetDecoder dec
.in
- the source InputStream from which to read characters.dec
- the CharsetDecoder used by the character conversion.public InputStreamReader(InputStream in, Charset charset)
in
and
Charset charset
.in
- the source InputStream from which to read characters.charset
- the Charset that defines the character converterpublic void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class Reader
IOException
- if an error occurs attempting to close this reader.public String getEncoding()
null
is returned if this reader has been closed.null
if this
reader is closed.public int read() throws IOException
read
in class Reader
IOException
- if this reader is closed or some other I/O error occurs.public int read(char[] buf, int offset, int length) throws IOException
length
characters from this reader and stores them
at position offset
in the character array buf
. Returns
the number of characters actually read or -1 if the end of the reader has
been reached. The bytes are either obtained from converting bytes in this
reader's buffer or by first filling the buffer from the source
InputStream and then reading from the buffer.read
in class Reader
buf
- the array to store the characters read.offset
- the initial position in buf
to store the characters
read from this reader.length
- the maximum number of characters to read.IndexOutOfBoundsException
- if offset < 0
or length < 0
, or if
offset + length
is greater than the length of
buf
.IOException
- if this reader is closed or some other I/O error occurs.public boolean ready() throws IOException
true
, the next read()
will not block. If
the result is false
then this reader may or may not block when
read()
is called. This implementation returns true
if
there are bytes available in the buffer or the source stream has bytes
available.ready
in class Reader
true
if the receiver will not block when read()
is called, false
if unknown or blocking will occur.IOException
- if this reader is closed or some other I/O error occurs.