InputStreamReader y BufferedReader
Antes de java 1.5, la forma de leer más fácilmente cosas que no sean bytes (leer cadenas de texto o números), era usar las clases InputStreamReader y BufferedReader conjuntamente. La primera es capaz de convertir esos bytes a caracteres. La segunda es capaz de leer hasta un fin de línea. La forma de instanciar estas clases para usarlas con System.in es la siguiente:
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader (isr);
Con esto, podemos leer líneas completas usando el BufferedReader br. Así, por ejemplo, si escribimos una A, con
String cadena = br.readLine();
obtendremos en cadena una "A".
Sin embargo, seguimos necesitando hacer la conversión si queremos leer números. Por ejemplo, si escribimos un entero 32, en cadena obtendremos "32". La conversión se haría con
int numero = Integer.parseInt (br.readLine());
y debemos, por supuesto, capturar la excpeción en caso de que la cadena no se pueda convertir a String. En cualquier caso, todo esto sigue siendo algo engorroso.
No hay comentarios:
Publicar un comentario