All byte streams are either a subclass of InputStream or OutputStream. These classes are abstract, so you cannot create a stream by creating objects of these classes directly. Instead, you create streams through one of their subclasses, such as the following:
FileInputStream and FileOutputStream—Byte streams stored in files on disk, CD-ROM, or other storage devices.
DataInputStream and DataOutputStream—A filtered byte stream from which data such as integers and floating-point numbers can be read.
InputStream is the superclass of all input streams.
The byte streams you work with most are likely to be file streams, which are used to exchange data with files on your disk drives, CD-ROMs, or other storage devices you can refer ...