Java.io package contains almost all class that you might ever use in order to perform input and output operations in Java. Java performs input and output through Streams. A stream is basically a sequence of data. All streams represent an output destination and an input source. The input stream is needed for reading data from any source while the output stream is needed for writing data to a desired destination. The Stream in any java.io package supports all kinds of data like object, primitives, localized characters etc. These streams are physically linked to layers by the java input/output system in order to carry out operations. This provides a convenient way to deal with I/O without having every part of your program understand the physical aspects.
The streams are divided into two types:
- Character Stream: This is what makes handling of characters convenient. This can be internationalized because of the use of Unicode.
- Byte Stream: This provides programmers a convenient way of handling output and input byte. This is what is divided into input and output.
Students of the Java 8 course are taught about this in detail to make their basics strong.