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.
|
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.Copyright © 2008–2024 The Apache Software Foundation. All rights reserved.