| 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 | 
|---|---|
| BufferedInputStream | A  BufferedInputStreamadds functionality to another input stream-namely, the ability to buffer the input
 and to support themarkandresetmethods. | 
| BufferedOutputStream | The class implements a buffered output stream. | 
| BufferedReader | Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of
 characters, arrays, and lines. | 
| BufferedWriter | Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single
 characters, arrays, and strings. | 
| 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. | 
| CharArrayReader | This class implements a character buffer that can be used as a character-input stream. | 
| 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. | 
| PipedInputStream | A piped input stream should be connected to a piped output stream; the piped input stream then provides whatever data
 bytes are written to the piped output stream. | 
| PipedOutputStream | A piped output stream can be connected to a piped input stream to create a communications pipe. | 
| PipedReader | Piped character-input streams. | 
| PipedWriter | Piped character-output streams. | 
| PrintStream | A  PrintStreamadds functionality to another output stream, namely the ability to
 print representations of various data values conveniently. | 
| PrintWriter | Prints formatted representations of objects to a text-output stream. | 
| PushbackInputStream | A  PushbackInputStreamadds functionality to another input stream, namely the ability to "push back" or
 "unread" one byte. | 
| RandomAccessFile | Instances of this class support both reading and writing to a random access file. | 
| Reader | Abstract class for reading character streams. | 
| SequenceInputStream | A  SequenceInputStreamrepresents the logical concatenation of other input streams. | 
| StringReader | A character stream whose source is a string. | 
| StringWriter | A character stream that collects its output in a string buffer, which can then be used to construct a string. | 
| 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. |