aicas logo Jamaica 3.4 release 8

java.io
Class InputStreamReader

java.lang.Object
  extended by java.io.Reader
      extended by java.io.InputStreamReader
Direct Known Subclasses:
FileReader

public class InputStreamReader
extends 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:

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.

See Also:
BufferedReader, InputStream
Date:
April 22, 1998.

Field Summary
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
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.
 
Method Summary
 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()
          Reads an char from the input stream and returns it as an int in the range of 0-65535.
 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 ready to be read.
 long skip(long count)
          Skips the specified number of chars in the stream.
 
Methods inherited from class java.io.Reader
mark, markSupported, read, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InputStreamReader

public InputStreamReader(InputStream in)
This method initializes a new instance of InputStreamReader to read from the specified stream using the default encoding.

Parameters:
in - The InputStream to read from

InputStreamReader

public InputStreamReader(InputStream in,
                         String encoding_name)
                  throws UnsupportedEncodingException
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:
in - The InputStream to read from
encoding_name - The name of the encoding scheme to use
Throws:
UnsupportedEncodingException - If the encoding scheme requested is not available.

InputStreamReader

public 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.

Since:
1.4

InputStreamReader

public InputStreamReader(InputStream in,
                         CharsetDecoder decoder)
Creates an InputStreamReader that uses the given charset decoder to decode the bytes in the InputStream into characters.

Since:
1.4
Method Detail

close

public void close()
           throws IOException
This method closes this stream, as well as the underlying InputStream.

Specified by:
close in class Reader
Throws:
IOException - If an error occurs

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.

Returns:
The current encoding name

ready

public boolean ready()
              throws IOException
This method checks to see if the stream is ready 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.

Overrides:
ready in class Reader
Returns:
true if the stream is ready to be read, false otherwise
Throws:
IOException - If an error occurs

read

public int read(char[] buf,
                int offset,
                int length)
         throws IOException
This method reads up to length characters from the stream into the specified array starting at index offset into the array.

Specified by:
read in class Reader
Parameters:
buf - The character array to recieve the data read
offset - The offset into the array to start storing characters
length - The requested number of characters to read.
Returns:
The actual number of characters read, or -1 if end of stream.
Throws:
IOException - If an error occurs

read

public int read()
         throws IOException
Reads an char from the input stream and returns it as an int in the range of 0-65535. This method also will return -1 if the end of the stream has been reached.

This method will block until the char can be read.

Overrides:
read in class Reader
Returns:
The char read or -1 if end of stream
Throws:
IOException - If an error occurs

skip

public long skip(long count)
          throws IOException
Skips the specified number of chars in the stream. It returns the actual number of chars skipped, which may be less than the requested amount.

Overrides:
skip in class Reader
Parameters:
count - The requested number of chars to skip
Returns:
The actual number of chars skipped.
Throws:
IOException - If an error occurs

aicas logo Jamaica 3.4 release 8

aicas GmbH, Karlsruhe - Germany    www.aicas.com
Copyright 2001-2009 aicas GmbH. All Rights Reserved.