Basic IO

From Wikibooks, open books for an open world
Jump to: navigation, search

Helping the compiler Java Programming
Basic IO
Introduction to Streams
Navigate User Interface topic:v  d  e )

This section covers the Java platform classes used for basic input and output. But before we begin we need to have a concrete understanding of what input and output means in programming. To grasp this concept, think of the Java platform as a system.

Understanding input and output[edit]

The Java platform is an isolated entity, a space on your OS in a way, where everything outside this system is its environment. The interaction between the system and its environment is a two-way dialog of sorts. Either the system receives messages from its environment, or it conveys its messages to the same. When a message is received by the system, it is called an input, its opposite is an output. On a whole, this communication is termed input/output abbreviated as I/O.

The following chapters are designed to introduce basic input and output in Java, including reading text input from the keyboard, outputting text to the monitor, and reading/writing files from the file system. More advanced user interaction using Graphics and Graphical User Interface (GUI) programs is taken up in the later section on Swing.

Simple Java Output: Writing to the Screen[edit]

Writing to the screen is very easy, and can be accomplished using one of two methods:

Example Code section 9.1: Print "Hello world" without advancing to a new line
System.out.print("Hello world");
Standard input or output Output on the screen
Hello world

Example Code section 9.2: Print "Hello world" and advance to a new line
System.out.println("Hello world");
Standard input or output Output on the screen
Hello world

Simple Java Input: Inputting from the keyboard[edit]

As of version 5, Java provides a class in the java.util package called Scanner that simplifies keyboard input.

Example Code section 9.3: Inputting with Scanner
Scanner kbdIn = new Scanner(; // Instantiating a new Scanner object
System.out.print("Enter your name: "); // Printing out the prompt
String name = kbdIn.nextLine(); // Reading a line of input (until the user hits enter) from the keyboard
// and putting it in a String variable called name
System.out.println("Welcome, " + name); // Printing out welcome, followed by the user's name
Standard input or output On the screen
Enter your name: John Doe
Welcome, John Doe

Alternatively, one could write a method to handle keyboard input:

Example Code section 9.4: Line reader
public String readLine() {
  // Creates a new BufferedReader object
  BufferedReader x = new BufferedReader(new InputStreamReader(;

  // Reads a line of input and returns it directly
  return x.readLine();

Note that the code above shouldn't be used in most applications, as it creates new Objects every time the method is run. A better alternative would be to create a separate class file to handle keyboard input.


To do:
Add some exercises like the ones in Variables

Helping the compiler Java Programming
Basic IO
Introduction to Streams