| Interface | Description | 
|---|---|
| Closeable | 
 A  
Closeable is a source or destination of data that can be closed. | 
| DataInput | 
 The  
DataInput interface provides for reading bytes from a binary stream and
 reconstructing from them data in any of the Java primitive types. | 
| DataOutput | 
 The  
DataOutput interface provides for converting data from any of the Java primitive
 types to a series of bytes and writing these bytes to a binary stream. | 
| FileFilter | 
 A filter for abstract pathnames. 
 | 
| FilenameFilter | 
 Instances of classes that implement this interface are used to filter filenames. 
 | 
| Flushable | 
 A Flushable is a destination of data that can be flushed. 
 | 
| Serializable | 
 This interface is only defined for hierarchy compatibility. 
 | 
| Class | Description | 
|---|---|
| ByteArrayInputStream | 
 A  
ByteArrayInputStream contains an internal buffer that contains bytes that may be
 read from the stream. | 
| ByteArrayOutputStream | 
 This class implements an output stream in which the data is written into a byte array. 
 | 
| DataInputStream | 
 A data input stream lets an application read primitive Java data types from an underlying input
 stream in a machine-independent way. 
 | 
| DataOutputStream | 
 A data output stream lets an application write primitive Java data types to an output stream in a
 portable way. 
 | 
| File | |
| FileInputStream | 
 A  
FileInputStream obtains input bytes from a file in a file system. | 
| FileOutputStream | 
 A file output stream is an output stream for writing data to a  
File. | 
| FilePermission | |
| FilterInputStream | 
 A  
FilterInputStream contains some other input stream, which it uses as its basic
 source of data, possibly transforming the data along the way or providing additional
 functionality. | 
| FilterOutputStream | 
 This class is the superclass of all classes that filter output streams. 
 | 
| InputStream | 
 This abstract class is the superclass of all classes representing an input stream of bytes. 
 | 
| InputStreamReader | 
 An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and
 decodes them into characters using a specified  
charset. | 
| OutputStream | 
 This abstract class is the superclass of all classes representing an output stream of bytes. 
 | 
| OutputStreamWriter | 
 An OutputStreamWriter is a bridge from character streams to byte streams: Characters written to
 it are encoded into bytes using a specified  
charset. | 
| PrintStream | 
 A  
PrintStream adds functionality to another output stream, namely the ability to
 print representations of various data values conveniently. | 
| Reader | 
 Abstract class for reading character streams. 
 | 
| Writer | 
 Abstract class for writing to character streams. 
 | 
| Exception | Description | 
|---|---|
| EOFException | 
 Signals that an end of file or end of stream has been reached unexpectedly during input. 
 | 
| FileNotFoundException | |
| InterruptedIOException | 
 Signals that an I/O operation has been interrupted. 
 | 
| IOException | 
 Signals that an I/O exception of some sort has occurred. 
 | 
| UnsupportedEncodingException | 
 The Character Encoding is not supported. 
 | 
| UTFDataFormatException | 
 Signals that a malformed string in modified UTF-8
 format has been read in a data input stream or by any class that implements the data input
 interface. 
 |