Course Content
Advanced Java 2077
Advanced Java 2077
Introduction to I/O and Streams
In Java programming, Input/Output (I/O) operations refer to the transfer of data between a program and an external source, such as a file or network connection. In this chapter, we will learn about the basics of I/O in Java and the concept of streams.
What is I/O?
Input/Output is the process of reading data from and writing data to an external source, such as a file or network connection. In Java, the I/O operations are performed using streams, which are sequences of data that can be read or written.
What are Streams?
In Java, a stream is a sequence of data that can be read or written. Streams are classified into two types: input streams and output streams. An input stream is used to read data from a source, and an output stream is used to write data to a destination.
Streams are further classified into byte streams and character streams. Byte streams are used to read and write binary data, such as images and sound files. Character streams are used to read and write textual data, such as strings and characters.
The Java I/O API
The Java I/O API is a set of classes and interfaces that provide support for performing I/O operations in Java. The Java I/O API provides classes for reading and writing files, networking, and other types of I/O operations.
In Java, the classes for performing I/O operations are located in the java.io package. Some of the important classes in the java.io package are:
InputStream
: This is an abstract class. It is the superclass of all classes that represents an input stream of bytes.OutputStream
: This is another abstract class. it is the superclass of all classes that represents an output stream of bytes.Reader
: This abstract class is the superclass of all classes representing an input stream of characters.Writer
: This abstract class is the superclass of all classes representing an output stream of characters.File
: This class represents a file or directory on the file system.
Using Streams
To use streams in Java, you need to create an instance of the appropriate class and use its methods to read or write data. For example, to read data from a file using an input stream, you can use the FileInputStream
class, like this:
Main
import java.io.*; public class ReadFile { public static void main(String[] args) { try { InputStream in = new FileInputStream("input.txt"); int data = in.read(); while (data != -1) { System.out.print((char) data); data = in.read(); } in.close(); } catch (IOException e) { e.printStackTrace(); } } }
This code creates an InputStream
using the FileInputStream
class and reads data from a file called input.txt
. The read()
method of the InputStream
class is used to read a single byte of data at a time, and the while loop is used to read all the data from the file.
Thanks for your feedback!