Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/04/2016, 17:58
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Problema para entender InputStream y los Reader para leer por teclado

Cita:
¿No se supone que InputStream sólo es capaz de leer un carácter, o mejor dicho, su equivalente en ASCII?
Por eso estás usando BufferedReader

https://docs.oracle.com/javase/7/doc...redReader.html


Cita:
Por qué tengo que almacenar lo que devuelva br.readLine() en una variable de tipo String (cadena)
No es obligatorio, sólo lo es si vas a hacer más de una operación con el texto, porque de un Stream sólo se puede leer una vez.


Cita:
por qué al hacer System.out.println no muestra lo mismo si pasamos la variable cadena que si pasamos directamente el br.readLine()?
Muestra lo que le pases, creo que tù piensas que con br.readLine() lees dos veces una línea, pero en realidad cada vez que llamas a una readLine lees una nueva línea, recuerda, un byte de un Stream sólo se puede leer una vez. Si haces dos readLine, tienes que esxribir dos veces texto en consola

Cita:
Lo que me tiene un poco loco es que, en system.out que pasamos la cadena, si pongo “Hola”, sólo devuelve el texto”cadena: ola”.
Con ese código imposible que pase lo que dices

Cita:
Hola
cadena: Hola
hola
br directo: hola
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.