Existe uma maneira simples de ler no console.
Encontre o código abaixo:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Reading of Integer
int number = sc.nextInt();
// Reading of String
String str = sc.next();
}
}
Para um entendimento detalhado, consulte os documentos abaixo.
Doc
Agora vamos falar sobre o entendimento detalhado do funcionamento da classe Scanner:
public Scanner(InputStream source) {
this(new InputStreamReader(source), WHITESPACE_PATTERN);
}
Este é o construtor para criar a instância do Scanner.
Aqui estamos passando a InputStream
referência que nada mais é que a System.In
. Aqui ele abre o InputStream
Pipe para entrada do console.
public InputStreamReader(InputStream in) {
super(in);
try {
sd = StreamDecoder.forInputStreamReader(in, this, (String)null); // ## Check lock object
}
catch (UnsupportedEncodingException e) {
// The default encoding should always be available
throw new Error(e);
}
}
Ao passar o System.in, esse código abrirá o soquete para leitura no console.