Since: API Level 1
package

java.io

Interfaces

CloseableDefines an interface for classes that can (or need to) be closed once they are not used any longer. 
DataInputDefines an interface for classes that are able to read typed data from some source. 
DataOutputDefines an interface for classes that are able to write typed data to some target. 
ExternalizableDefines an interface for classes that want to be serializable, but have their own binary representation. 
FileFilterAn interface for filtering File objects based on their names or other information. 
FilenameFilterAn interface for filtering File objects based on their names or the directory they reside in. 
FlushableDefines an interface for classes that can (or need to) be flushed, typically before some output processing is considered to be finished and the object gets closed. 
ObjectInputDefines an interface for classes that allow reading serialized objects. 
ObjectInputValidationA callback interface for post-deserialization checks on objects. 
ObjectOutputDefines an interface for classes that allow reading serialized objects. 
ObjectStreamConstantsA helper interface with constants used by the serialization implementation. 
SerializableAn empty marker interface for classes that want to support serialization and deserialization based on the ObjectOutputStream and ObjectInputStream classes. 

Classes

BufferedInputStreamWraps an existing InputStream and buffers the input. 
BufferedOutputStreamWraps an existing OutputStream and buffers the output. 
BufferedReaderWraps an existing Reader and buffers the input. 
BufferedWriterWraps an existing Writer and buffers the output. 
ByteArrayInputStreamA specialized InputStream for reading the contents of a byte array. 
ByteArrayOutputStreamA specialized OutputStream for class for writing content to an (internal) byte array. 
CharArrayReaderA specialized Reader for reading the contents of a char array. 
CharArrayWriterA specialized Writer for class for writing content to an (internal) char array. 
ConsoleProvides access to the console, if available. 
DataInputStreamWraps an existing InputStream and reads typed data from it. 
DataOutputStreamWraps an existing OutputStream and writes typed data to it. 
FileAn "abstract" representation of a file system entity identified by a pathname. 
FileDescriptorThe lowest-level representation of a file, device, or socket. 
FileInputStreamA specialized InputStream that reads from a file in the file system. 
FileOutputStreamA specialized OutputStream that writes to a file in the file system. 
FilePermissionA permission for accessing a file or directory. 
FileReaderA specialized Reader that reads from a file in the file system. 
FileWriterA specialized Writer that writes to a file in the file system. 
FilterInputStreamWraps an existing InputStream and performs some transformation on the input data while it is being read. 
FilterOutputStreamWraps an existing OutputStream and performs some transformation on the output data while it is being written. 
FilterReaderWraps an existing Reader and performs some transformation on the input data while it is being read. 
FilterWriterWraps an existing Writer and performs some transformation on the output data while it is being written. 
InputStreamThe base class for all input streams. 
InputStreamReaderA class for turning a byte stream into a character stream. 
LineNumberInputStream This class is deprecated. Use LineNumberReader  
LineNumberReaderWraps an existing Reader and counts the line terminators encountered while reading the data. 
ObjectInputStreamA specialized InputStream that is able to read (deserialize) Java objects as well as primitive data types (int, byte, char etc.). 
ObjectInputStream.GetFieldGetField is an inner class that provides access to the persistent fields read from the source stream. 
ObjectOutputStreamA specialized OutputStream that is able to write (serialize) Java objects as well as primitive data types (int, byte, char etc.). 
ObjectOutputStream.PutFieldPutField is an inner class to provide access to the persistent fields that are written to the target stream. 
ObjectStreamClassRepresents a descriptor for identifying a class during serialization and deserialization. 
ObjectStreamFieldDescribes a field for the purpose of serialization. 
OutputStreamThe base class for all output streams. 
OutputStreamWriterA class for turning a character stream into a byte stream. 
PipedInputStreamReceives information from a communications pipe. 
PipedOutputStreamPlaces information on a communications pipe. 
PipedReaderReceives information on a communications pipe. 
PipedWriterPlaces information on a communications pipe. 
PrintStreamWraps an existing OutputStream and provides convenience methods for writing common data types in a human readable format. 
PrintWriterWraps either an existing OutputStream or an existing Writer and provides convenience methods for printing common data types in a human readable format. 
PushbackInputStreamWraps an existing InputStream and adds functionality to "push back" bytes that have been read, so that they can be read again. 
PushbackReaderWraps an existing Reader and adds functionality to "push back" characters that have been read, so that they can be read again. 
RandomAccessFileAllows reading from and writing to a file in a random-access manner. 
ReaderThe base class for all readers. 
SequenceInputStreamConcatenates two or more existing InputStreams. 
SerializablePermissionIs used to enable access to potentially unsafe serialization operations. 
StreamTokenizerParses a stream into a set of defined tokens, one at a time. 
StringBufferInputStream This class is deprecated. Use StringReader  
StringReaderA specialized Reader that reads characters from a String in a sequential manner. 
StringWriterA specialized Writer that writes characters to a StringBuffer in a sequential manner, appending them in the process. 
WriterThe base class for all writers. 

Exceptions

CharConversionExceptionThe top level class for character conversion exceptions. 
EOFExceptionThrown when a program encounters the end of a file or stream during an input operation. 
FileNotFoundExceptionThrown when a file specified by a program cannot be found. 
InterruptedIOExceptionSignals that a blocking I/O operation has been interrupted. 
InvalidClassExceptionSignals a problem during the serialization or or deserialization of an object. 
InvalidObjectExceptionSignals that, during deserialization, the validation of an object has failed. 
IOExceptionSignals a general, I/O-related error. 
NotActiveExceptionSignals that a serialization-related method has been invoked in the wrong place. 
NotSerializableExceptionSignals that an object that is not serializable has been passed into the ObjectOutput.writeObject() method. 
ObjectStreamExceptionSignals some sort of problem during either serialization or deserialization of objects. 
OptionalDataExceptionSignals that the ObjectInputStream class encountered a primitive type (int, char etc.) instead of an object instance in the input stream. 
StreamCorruptedExceptionSignals that the readObject() method could not read an object due to missing information (for example, a cyclic reference that doesn't match a previous instance, or a missing class descriptor for the object to be loaded). 
SyncFailedExceptionSignals that the sync() method has failed to complete. 
UnsupportedEncodingExceptionThrown when a program asks for a particular character converter that is unavailable. 
UTFDataFormatExceptionSignals that an incorrectly encoded UTF-8 string has been encountered, most likely while reading some DataInputStream
WriteAbortedExceptionSignals that the readObject() method has detected an exception marker in the input stream. 

Errors

IOErrorThis error is thrown when a severe I/O error has happened.