ejemplos - java read
BufferedReader vs Console vs Scanner (3)
BufferedReader
- Desde Java 1.1
- Lanza excepciones marcadas
- Puede leer caracteres, matrices de caracteres y líneas
- Rápido
Escáner
- Desde Java 1.5
- No arroja excepciones marcadas
- Puede leer líneas, tokens delimitados por espacios en blanco, tokens delimitados por expresiones regulares y números
- Difíciles de leer personajes sueltos
Consola
- Desde Java 1.6
- No arroja excepciones marcadas
- Puede leer líneas
- El lector subyacente puede leer caracteres y matrices de caracteres (se detiene en los límites de la línea)
- No siempre disponible (ej. Eclipse )
- Puede leer contraseñas (es decir, leer sin mostrar los caracteres)
Recomendación: Escáner
Los métodos para leer números son muy útiles. Las excepciones no están marcadas, por lo que no es necesario escribir bloques repetitivos try / catch.
Hola, soy nuevo en Java
y me gustaría saber cuál es la mejor opción para leer una entrada de usuario en la consola, hasta donde sé hay 3 formas de hacerlo:
-
Console console = System.console();
-
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
-
Scanner reader = new Scanner(System.in);
¿Cuál debería elegir? ¿Por qué ese y no los otros?
La clase de consola intenta implementar una plataforma independiente para manejar con la entrada de la consola. Todos los SO tienen una consola de cualquier forma, pero son silenciosos en la implementación. Así que la clase de consola le brinda una plataforma Java desde una clase de tiempo de ejecución independiente para acceder a cosas como la entrada de contraseña, etc.
Scanner se usa para analizar tokens a partir del contenido de la secuencia, mientras que BufferedReader solo lee la secuencia y no realiza ningún análisis especial.
al lado de estos también puedes usar datainputstream, etc.
Ahora BufferedReader Lee texto de una secuencia de entrada de caracteres, almacenando en el búfer los caracteres para proporcionar la lectura eficiente de caracteres, matrices y líneas. Se puede especificar el tamaño del búfer o se puede usar el tamaño predeterminado. El valor predeterminado es lo suficientemente grande para la mayoría de los propósitos.
Where Scanner es un simple escáner de texto que puede analizar tipos primitivos y cadenas utilizando expresiones regulares. Un escáner divide su entrada en tokens usando un patrón de delimitador, que por defecto coincide con el espacio en blanco. Los tokens resultantes se pueden convertir en valores de diferentes tipos utilizando los diversos métodos siguientes. Scanner se usa para analizar tokens a partir del contenido de la secuencia, mientras que BufferedReader solo lee la secuencia y no realiza ningún análisis especial.
también verifique el enlace a continuación seguramente le ayudará .......