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 table with multiple header in iText 8? - March 16, 2024
- How do I add Image to a Table in iText 8? - March 11, 2024
- How do I downgrade Android SDK emulator version? - February 12, 2024