File Stream Java Book

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();
}
}