InputStreamReader class

An InputStreamReader is a bridge from byte streams to character streams.

InputStreamReader(InputStream in)
Creates an InputStreamReader that uses the default charset.
InputStreamReader(InputStream in, Charset cs)
Creates an InputStreamReader that uses the given charset.
InputStreamReader(InputStream in, CharsetDecoder dec)
Creates an InputStreamReader that uses the given charset decoder.
InputStreamReader(InputStream in, String charsetName)
Creates an InputStreamReader that uses the named charset.
void close()
Closes the stream and releases any system resources associated with it.
String getEncoding()
Returns the name of the character encoding being used by this stream.
int read()
Reads a single character.
int read(char[] cbuf, int offset, int length)
Reads characters into a portion of an array.
boolean ready()
Tells whether this stream is ready to be read.

Revised from Open JDK source code

Create BufferedReader from InputStreamReader and URL


import java.io.InputStreamReader;
import java.net.URL;

public class Main {
  public static void main(String[] args) throws Exception {
    URL myURL = new URL("http://www.google.com");
    InputStreamReader so = new InputStreamReader(myURL.openStream());
    while (true) {
      int output = so.read();
      if (output != -1) {
        System.out.println((char)output);
      } else {
        break;
      }
    }
    so.close();
  }
}

Create InputStreamReader with encoding


import java.io.InputStreamReader;
import java.net.URL;

public class Main {
  public static void main(String[] args) throws Exception {
    URL myURL = new URL("http://www.google.com");
    InputStreamReader so = new InputStreamReader(myURL.openStream(),"8859_1");
    while (true) {
      int output = so.read();
      if (output != -1) {
        System.out.println((char)output);
      } else {
        break;
      }
    }
    so.close();
  }
}
Home 
  Java Book 
    File Stream