Using Streams
Streams in Java are used to perform input and output of 8-bit bytes. This tutorial will teach you how to use streams to read and write data.
Reading Data Using InputStream
The InputStream
class is used to read data from an input stream:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
try (InputStream inputStream = new FileInputStream("example.txt")) {
int data;
while ((data = inputStream.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Writing Data Using OutputStream
The OutputStream
class is used to write data to an output stream:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
try (OutputStream outputStream = new FileOutputStream("example.txt")) {
String data = "Hello, World!";
outputStream.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
Using Buffered Streams
Buffered streams can be used to optimize the performance of input and output operations:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("example.txt"))) {
int data;
while ((data = bufferedInputStream.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continue exploring our intermediate tutorials to learn more about Java programming.