| Interface | Description | 
|---|---|
| Closeable | A  Closeableis a source or destination of data that can be closed. | 
| DataInput | The  DataInputinterface provides for reading bytes from a binary stream and
 reconstructing from them data in any of the Java primitive types. | 
| DataOutput | The  DataOutputinterface 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  ByteArrayInputStreamcontains 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 | An abstract representation of file and directory pathnames. | 
| FileInputStream | A  FileInputStreamobtains 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 | This class represents access to a file or directory. | 
| FilterInputStream | A  FilterInputStreamcontains 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  PrintStreamadds functionality to another output stream, namely the ability to
 print representations of various data values conveniently. | 
| RandomAccessFile | Instances of this class support both reading and writing to a random access file. | 
| 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 | Signals that an attempt to open the file denoted by a specified pathname has failed. | 
| 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. |