In the previous example, How do I read user input from console using Scanner class?, we use the java.util.Scanner
class to read user input. In this example we use another new class introduced in the Java 1.6, the java.io.Console
class.
The Console
class provide methods like readLine()
and readPassword()
. The readPassword()
method can be used to read user’s password. Using this method the user’s input will not be shown in the console. The password will be returned as an array of char
.
package org.kodejava.io;
import java.io.Console;
public class ConsoleDemo {
public static void main(String[] args) {
// Get a console object, console can be null if not available.
Console console = System.console();
if (console == null) {
System.out.println("Console is not available.");
System.exit(1);
}
// Read username from the console
String username = console.readLine("Username: ");
// Read password, the password will not be echoed to the
// console screen and returned as an array of characters.
char[] password = console.readPassword("Password: ");
if (username.equals("admin") && String.valueOf(password).equals("secret")) {
console.printf("Welcome to Java Application %1$s.%n", username);
} else {
console.printf("Invalid username or password.%n");
}
}
}
The result of the code snippet above is:
Username: admin
Password:
Welcome to Java Application admin.
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023