Leggere l'input dell'utente in Java con Console

Mattepuffo's logo
Leggere l'input dell'utente in Java con Console

Leggere l'input dell'utente in Java con Console

Per controllare l'input dell'utente in genere si usa la classe Scanner.

Su segnalazione di andbin (forum.html.it) ho scoperto che da Java 6 esiste la classe Console.

Questa classe offe alcuni vantaggi, come la possibilità di oscurare l'input dell'utente (ad esempio quando vogliamo far inserire una password).

Vediamo come utilizzarla.

import java.io.Console;

public class Main {

   public static void main(String[] args) {
     Console console = System.console();
     System.out.println("Input user:");
     String user = console.readLine();
     System.out.println("Input password:");
     char[] cript = console.readPassword();
    String pwd = new String(cript);
   }
}

Prima di tutto creiamo un oggetto Console.

Poi, molto semplicemente, andiamo a leggere due input.

Il primo è in chiaro e corrisponderebbe a un eventuale username ed usiamo il metodo readLine() (come in Scanner in pratica).

Il secondo invece è "oscurato" usando il metodo readPassword().

Il metodo readPassword() però restituisce un array di char.

All'ultima riga lo trasformiamo in una String (cosa che probabilmente è quello che effettivamente serve).


Condividi

Commentami!