Java proporciona varios mecanismos para leer de un archivo . Una clase importante que ayuda a realizar esta operación es la BufferedReader . Entonces, este artículo sobre BufferedReader en le ayudará a comprender la clase Bufferedreader junto con ejemplos. Los siguientes son los temas cubiertos en este blog:
- ¿Qué es BufferedReader en Java?
- Declaración de clase BufferedReader
- Constructores Java BufferedReader
- Métodos y descripción
- Diferencia entre Scanner y BufferReader
¿Qué es BufferedReader en Java?
BufferedReader es un Clase Java que lee el texto del flujo de entrada. Protege los caracteres para que pueda obtener una lectura eficiente de los caracteres, matrices , etc. Hereda la clase de lector y hace que el código sea eficiente ya que podemos leer los datos línea por línea con readline () . Hay algunos consejos que debemos tener en cuenta al trabajar con la clase BufferedReader en Java.
- Es posible que tengamos que especificar el tamaño del búfer aunque el valor predeterminado sea lo suficientemente grande para cualquier propósito.
- Con cada solicitud hecha a un lector, también se realiza una solicitud de lectura de un carácter subyacente.
- Siempre se recomienda envolver una clase BufferedReader alrededor de cualquier lector como InputStreamReaders.
- Para los programas que utilizan DataInputaStreams para entrada de texto, un BufferedReader apropiado reemplaza el DataInputStream para localizarlo.
Declaración de clase BufferedReader
public class BufferedReader extiende Reader
Constructores Java BufferedReader
Constructor | Descripción |
BufferedReader (lector de lectores) | Este constructor crea un flujo de entrada de caracteres de almacenamiento en búfer que funciona en un búfer de entrada de tamaño predeterminado. |
BufferedReader (lector de lector, tamaño int) | Utiliza el tamaño especificado para el búfer de entrada para almacenar el flujo de entrada de caracteres. |
Métodos y descripción
A continuación se muestran los métodos con la descripción que tenemos para la clase Java BufferedReader.
Método | Descripción |
int read () | Lee un solo carácter |
String readLine () | Lee una línea de texto |
reinicio vacío () | Reposiciona la secuencia en la posición donde se llamó por última vez al método de marca |
int read (char [] cb, int off, int len) | Lee los caracteres en una parte de una matriz. |
boolean markSupported () | Prueba el soporte de flujo de entrada para el método de reinicio y marca |
booleano listo () | Comprueba si el flujo de entrada está listo para leer. |
salto largo (n largo) | salta los personajes |
vacío cerrado () | Cierra el flujo de entrada |
marca vacía (int readAheadLimit) | Se usa para marcar la posición actual en la secuencia. |
Ejemplo:
import java.io. * public class Ejemplo {public static void main (String args [] arroja una excepción) {FileReader f = new FileReader ('filelocation') BufferedReader b = new BufferedReader (f) int i while ((i = b. read ())! = -1) {System.out.println ((char) i)} b.close () f.close ()
Diferencia entre escáner y lector con búfer
BufferedReader | Escáner |
Sincrónico y debe usarse con múltiples subprocesos | No síncrono y no se utiliza con varios subprocesos |
La memoria búfer es más grande es una relación en java | La memoria búfer es más pequeña |
Más rápido que el escáner | Más lento porque analiza los datos de entrada |
No hay ambigüedad relacionada con el método nextline () | Hay muchos problemas con el método nextline (). |
Utiliza almacenamiento en búfer para leer caracteres del flujo de entrada de caracteres | Es un escáner de texto simple que analiza tipos primitivos y cadenas. |
BufferedReader en el ejemplo de JDK7
import java.io. * public class Ejemplo {public static void main (String [] args) {try (BufferedReader b = new BufferedReader (new fileReader ('filename'))) {String s while ((s = b.readLine ( ))! = null) {System.out.println (s)}} captura (IOException e) {e.printStackTrace ()}}}
Lectura de datos desde la consola por InputStreamReader y BufferedReader en Java
import java.io. * public class Ejemplo {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) System.out.println ('Ingrese al curso ') Cadena curso = b.readLine () System.out.pritln (' Edureka '+ curso)}}
Salida: Ingrese al curso Java Edureka Java
Lectura de datos desde la consola hasta que el usuario deje de escribir
import java.io. * public class Ejemplo {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) string course = '' while (! name .equals ('detener')) {System.out.println ('ingresar curso:') curso = b.readLine () System.out.println ('El curso es:' + curso)} b.close () i. cerrar() } }
Salida: ingresar al curso: El curso es: Java ingresar al curso: El curso es: detener
Esto nos lleva al final de este artículo donde hemos aprendido cómo podemos leer caracteres del flujo de entrada de caracteres usando la clase BufferedReader en Java. Espero que tengas claro todo lo que se ha compartido contigo en este tutorial.
Si encuentra relevante este artículo sobre 'BufferedReader en Java', consulte el una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo.
Estamos aquí para ayudarlo en cada paso de su viaje y crear un plan de estudios diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios me gusta Hibernar & .
Si encuentra alguna pregunta, no dude en hacer todas sus preguntas en la sección de comentarios de 'BufferedReader en Java' y nuestro equipo estará encantado de responder.