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 get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024