java.io
Class InputStreamReader
java.lang.Object
|
+--java.io.Reader
|
+--java.io.InputStreamReader
public class
InputStreamReaderextends
Reader This class reads characters from a byte input stream. The characters
read are converted from bytes in the underlying stream by a
decoding layer. The decoding layer transforms bytes to chars according
to an encoding standard. There are many available encodings to choose
from. The desired encoding can either be specified by name, or if no
encoding is selected, the system default encoding will be used. The
system default encoding name is determined from the system property
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:
- 8859_1 (ISO-8859-1/Latin-1)
- 8859_2 (ISO-8859-2/Latin-2)
- 8859_3 (ISO-8859-3/Latin-3)
- 8859_4 (ISO-8859-4/Latin-4)
- 8859_5 (ISO-8859-5/Latin-5)
- 8859_6 (ISO-8859-6/Latin-6)
- 8859_7 (ISO-8859-7/Latin-7)
- 8859_8 (ISO-8859-8/Latin-8)
- 8859_9 (ISO-8859-9/Latin-9)
- ASCII (7-bit ASCII)
- UTF8 (UCS Transformation Format-8)
- More later
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.
Author:- Aaron M. Renn (arenn@urbanophile.com)
See Also:
InputStreamReader
public InputStreamReader(java.io.InputStream in)
This method initializes a new instance of InputStreamReader
to read from the specified stream using the default encoding.
Parameters:
InputStreamReader
public InputStreamReader(java.io.InputStream in, java.lang.String encoding_name)
This method initializes a new instance of 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.
Parameters:
Throws:
close
public void close()
This method closes this stream, as well as the underlying
InputStream
.
Throws:
getEncoding
public String getEncoding()
This method returns the name of the encoding that is currently in use
by this object. If the stream has been closed, this method is allowed
to return null
.
read
public int read()
This method reads a single character of data from the stream.
Returns:
- The char read, as an int, or -1 if end of stream.
Throws:
read
public int read(char[] buf, int offset, int len)
This method reads up to len
characters from the stream into
the specified array starting at index offset
into the
array.
Parameters:
Returns:
- The actual number of characters read, or -1 if end of stream.
Throws:
ready
public boolean ready()
This method checks to see if the stream is read to be read. It
will return 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.
Returns:
true
if the stream is ready to be read, false
otherwise
Throws:
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 aBufferedReader
.Due to a deficiency the Java class library design, there is no standard way for an application to install its own byte-character encoding.