to top
Android APIs
public class

InputStreamReader

extends Reader
java.lang.Object
   ↳ java.io.Reader
     ↳ java.io.InputStreamReader
Known Direct Subclasses

Class Overview

A class for turning a byte stream into a character stream. Data read from the source input stream is converted into characters by either a default or a provided character converter. The default encoding is taken from the "file.encoding" system property. InputStreamReader contains a buffer of bytes read from the source stream and converts these into characters as needed. The buffer size is 8K.

Summary

[Expand]
Inherited Fields
From class java.io.Reader
Public Constructors
InputStreamReader(InputStream in)
Constructs a new InputStreamReader on the InputStream in.
InputStreamReader(InputStream in, String charsetName)
Constructs a new InputStreamReader on the InputStream in.
InputStreamReader(InputStream in, CharsetDecoder dec)
Constructs a new InputStreamReader on the InputStream in and CharsetDecoder dec.
InputStreamReader(InputStream in, Charset charset)
Constructs a new InputStreamReader on the InputStream in and Charset charset.
Public Methods
void close()
Closes this reader.
String getEncoding()
Returns the canonical name of the encoding used by this writer to convert characters to bytes, or null if this writer has been closed.
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[] buffer, int offset, int count)
Reads up to count characters from this reader and stores them at position offset in the character array buffer.
boolean ready()
Indicates whether this reader is ready to be read without blocking.
[Expand]
Inherited Methods
From class java.io.Reader
From class java.lang.Object
From interface java.io.Closeable
From interface java.lang.AutoCloseable
From interface java.lang.Readable

Public Constructors

public InputStreamReader (InputStream in)

Added in API level 1

Constructs a new 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.

Parameters
in the input stream from which to read characters.

public InputStreamReader (InputStream in, String charsetName)

Added in API level 1

Constructs a new InputStreamReader on the InputStream in. The character converter that is used to decode bytes into characters is identified by name by charsetName. If the encoding cannot be found, an UnsupportedEncodingException error is thrown.

Parameters
in the InputStream from which to read characters.
charsetName identifies the character converter to use.
Throws
NullPointerException if charsetName is null.
UnsupportedEncodingException if the encoding specified by charsetName cannot be found.

public InputStreamReader (InputStream in, CharsetDecoder dec)

Added in API level 1

Constructs a new InputStreamReader on the InputStream in and CharsetDecoder dec.

Parameters
in the source InputStream from which to read characters.
dec the CharsetDecoder used by the character conversion.

public InputStreamReader (InputStream in, Charset charset)

Added in API level 1

Constructs a new InputStreamReader on the InputStream in and Charset charset.

Parameters
in the source InputStream from which to read characters.
charset the Charset that defines the character converter

Public Methods

public void close ()

Added in API level 1

Closes this reader. This implementation closes the source InputStream and releases all local storage.

Throws
IOException if an error occurs attempting to close this reader.

public String getEncoding ()

Added in API level 1

Returns the canonical name of the encoding used by this writer to convert characters to bytes, or null if this writer has been closed. Most callers should probably keep track of the String or Charset they passed in; this method may not return the same name.

public int read ()

Added in API level 1

Reads a single character from this reader and returns it as an integer with the two higher-order bytes set to 0. Returns -1 if the end of the reader has been reached. The byte value is 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.

Returns
  • the character read or -1 if the end of the reader has been reached.
Throws
IOException if this reader is closed or some other I/O error occurs.

public int read (char[] buffer, int offset, int count)

Added in API level 1

Reads up to count characters from this reader and stores them at position offset in the character array buffer. 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.

Throws
IndexOutOfBoundsException if offset < 0 || count < 0 || offset + count > buffer.length.
IOException if this reader is closed or some other I/O error occurs.

public boolean ready ()

Added in API level 1

Indicates whether this reader is ready to be read without blocking. If the result is 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.

Returns
  • true if the receiver will not block when read() is called, false if unknown or blocking will occur.
Throws
IOException if this reader is closed or some other I/O error occurs.