viernes, 30 de mayo de 2014

Método práctico para leer desde teclado - I

Para facilitar la lectura de teclado se puede conseguir que se lea una línea entera con una sola orden si se utiliza un objeto BnfferedReader. El método String readLineQ perteneciente a BufferReader lee todos los caracteres hasta encontrar un V o V y los devuelve como un String (sin incluir V ni V). Este método también puede lanzar java.io.IOException.

System.in es un objeto de la clase InputStream. BnfferedReader pide un Reader en el constructor. El puente de unión necesario lo dará InputStreamReader. que acepta un InputStream como argumento del constructor y es una clase derivada de Reader. Por lo tanto si se desea leer una línea completa desde la entrada estándar habrá que utilizar el siguiente código:

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
// o en una linea:
// BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
String frase = br2.readLine(); // Se lee la linea con una llamada


Así ya se ha leído una línea del teclado. El thread que ejecute este código estará parado en esta línea hasta que el usuario termine la línea (pulse return). Es más sencillo y práctico que la posibilidad anterior. ¿Y qué hacer con una línea entera? 

La clase java.útil.StringTokenizer da la posibilidad de separar una cadena de caracteres en las "palabras" (tokens) que la forman (por defecto, conjuntos de caracteres separados por un espacio, V. V, o por V). Cuando sea preciso se pueden convertir "palabras" en números

No hay comentarios:

Publicar un comentario