java.io has many different I/O streams, (FileInputStream, FileOutputStream, FileReader, FileWriter, BufferedStreams... etc.) and I am confused in determining th
This is probably the most thorough overview of the various streams, Reader's and Writer's in the Java IO API:
http://tutorials.jenkov.com/java-io/overview.html
It's part of a larger Java IO tutorial covering both byte and charater based streams.
It also covers streams that are used for reading and writing raw numeric data, like int's float's etc.
It also covers streams used for parsing like the PushbackInputStream and the PushbackReader.