Introducir texto/palabra por teclado vía terminal en Java

En este lenguaje encontramos múltiples formas de introducir texto por teclado mediante una terminal. A continuación expongo las principales mediante un simple código. Recomiendo usar JDK 1.7 o superior y una terminal, ya sea de un sistema Linux o Windows.

*Si decides ejecutar el código desde un IDE como eclipse, la última opción no funcionará ya que, como su nombre indica, está pensada para ser usada desde la terminal.

Si te queda alguna duda tras leerlo todo, siempre te quedarán los comentarios 😉

[code language=»java»]
// En función de los métodos empleados, importar una u otra librería
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.Console;

public class Consola {
public static void main(String[] args) {
String texto = null;
// Librerías: import java.util.BufferedReader; y import java.io.IOException;
// Nota: Permite introducir espacios y saltos de línea
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Introduce algún texto: ");
try {
texto = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Texto introducido: " + texto);

// Da uso a import java.util.Scanner; A partir de Java 5
// Nota: Hay que cuidar el buffer IO. De tener varios sc.nextLine() este acabará desbordando.
Scanner sc = new Scanner(System.in);
System.out.print("Introduce algún texto: ");
texto = sc.nextLine();
System.out.println("Texto introducido: " + texto);

// Dependencia: import java.io.Console;
// Nota: Desde Java 6, la opción más recomendada para leer por consola
Console consola = System.console();
texto = consola.readLine("Introduce algún texto: ");
System.out.println("Texto introducido: " + texto);
}
}
[/code]

Fuente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.