The java.io package is a set of classes that allows a Java program to perform input and output operations. It contains classes for reading and writing data to various destinations, such as files, sockets, and pipes.
To use the classes in the java.io package
, we need to include the following import statement in our Java code:
import java.io.*;
One of the key classes in the java.io
package is the InputStream
class, which is the superclass for all classes that represent an input stream of bytes. To use an InputStream
, we can create an instance of one of its subclasses, such as FileInputStream
or ByteArrayInputStream
. For example:
InputStream inputStream = new FileInputStream("file.txt"); InputStream inputStream = new ByteArrayInputStream(byteArray);
We can then use the various methods provided by the InputStream
class to read data from the stream. For example, the read()
method reads a single byte from the stream, while the read(byte[] b)
method reads an array of bytes from the stream.
Another important class in the java.io
package is the OutputStream
class, which is the superclass for all classes that represent an output stream of bytes. To use an OutputStream
, we can create an instance of one of its subclasses, such as FileOutputStream
or ByteArrayOutputStream
. For example:
OutputStream outputStream = new FileOutputStream("file.txt"); OutputStream outputStream = new ByteArrayOutputStream();
We can then use the various methods provided by the OutputStream
class to write data to the stream. For example, the write(int b)
method writes a single byte to the stream, while the write(byte[] b)
method writes an array of bytes to the stream.
The java.io
package also includes several utility classes for working with streams, such as BufferedInputStream
and BufferedOutputStream
, which add a buffer to an input or output stream to improve performance, and DataInputStream
and DataOutputStream
, which allow us to read and write primitive data types (such as int and double) to an input or output stream.
The java.io
package also includes classes for reading and writing character data, such as Reader
and Writer
, as well as utility classes for working with character streams, such as BufferedReader
and BufferedWriter
.
In addition to the classes for reading and writing data, the java.io package includes several other utility classes, such as File
, which represents a file on the file system, and PrintStream
, which provides convenience methods for printing data to an output stream.
Overall, the java.io package is an essential part of the Java API. And is frequently used in Java programs to perform input and output operations. Whether we are reading data from a file, writing data to a socket, or simply printing output to the console. The java.io package has the classes you need to get the job done.