Input/Output with java.io
The
java.io package defines a large number of
classes for reading and writing streaming, or sequential, data. The
InputStream and OutputStream
classes are for reading and writing streams of bytes while the
Reader and Writer classes are
for reading and writing streams of
characters. Streams can be
nested, meaning you might read characters from a
FilterReader
object that reads and processes
characters from an underlying Reader stream. This
underlying Reader stream might read bytes from an
InputStream and convert them to characters.
Reading Console Input
You can perform a number of common operations with streams. One is to read lines of input the user types at the console:
import java.io.*;
BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
System.out.print("What is your name: ");
String name = null;
try {
name = console.readLine();
}
catch (IOException e) { name = "<" + e + ">"; } // This should never happen
System.out.println("Hello " + name);Reading Lines from a Text File
Reading lines of text from a file is a similar operation. The following code reads an entire text file and quits when it reaches the end:
String filename = System.getProperty("user.home") + File.separator + ".cshrc"; try { BufferedReader in = new BufferedReader(new FileReader(filename)); String line; while((line = in.readLine()) != null) { // Read line, check for end-of-file System.out.println(line); // Print the line } in.close(); // Always close ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access