Curso Java #39 - BufferedReader y BufferedWriter
Summary
TLDREn este vídeo de 'Disco duro de roer', se continúa el curso de Java con un enfoque en el tema de BufferedWriter y BufferedReader. Se explica cómo estos objetos mejoran la lectura y escritura de archivos en comparación con FileReader y FileWriter. Se muestra cómo leer línea a línea y se abordan técnicas para reducir código. También se destaca la importancia de crear un FileReader antes de instanciar un BufferedReader y se menciona cómo escribir de forma reactiva o añadir texto sin sobrescribir en los archivos.
Takeaways
- 💾 El vídeo trata sobre el uso de `BufferedWriter` y `BufferedReader` en Java, que son mejoras sobre `FileWriter` y `FileReader`.
- 📚 Se menciona que `BufferedReader` permite leer línea por línea, lo cual es conveniente para archivos grandes.
- 🔍 Se explica que el uso de `BufferedReader` es similar al de `FileReader`, pero con la capacidad de manejar saltos de línea.
- 📝 Se destaca la importancia de usar `System.out.println` para recargar el archivo y poder leerlo.
- 🔄 Se aborda la diferencia entre leer con un bucle tradicional y una forma más eficiente utilizando `linea != null`.
- 📖 Se sugiere una técnica para reducir líneas de código utilizando `linea = br.readLine()` directamente en un if.
- 🗂️ Se indica que para crear un `BufferedReader` se necesita un `FileReader`, lo cual es crucial para su funcionamiento.
- 📝 Se explica cómo se puede escribir en un archivo de manera reactiva usando `BufferedWriter` y cómo se puede agregar texto sin sobrescribirlo.
- 🔧 Se menciona que el orden de creación y lectura de archivos es importante y que el archivo debe existir antes de intentar leerlo con `BufferedReader`.
- 🔎 Se recomienda revisar el resto del curso para obtener más información sobre la manipulación de archivos en Java.
Q & A
¿Qué es un `BufferedWriter` y un `BufferedReader` en Java?
-Son clases que mejoran las funcionalidades de `FileWriter` y `FileReader`. Permiten leer y escribir datos más eficientemente, ya que trabajan con buffers, lo que facilita el procesamiento de líneas completas en lugar de caracteres individuales.
¿Cuál es la ventaja de usar `BufferedReader` sobre `FileReader`?
-La principal ventaja es que `BufferedReader` permite leer datos línea por línea, lo que es más eficiente cuando se trata de ficheros grandes, en lugar de leer carácter por carácter como lo hace `FileReader`.
¿Cómo se usa el método `readLine()` en `BufferedReader`?
-El método `readLine()` permite leer una línea completa de un fichero. Se usa dentro de un bucle que continúa leyendo hasta que el método devuelve `null`, lo que indica que no hay más líneas por leer.
¿Cuál es la diferencia entre `BufferedWriter` y `FileWriter` al escribir en un fichero?
-`BufferedWriter` es una versión mejorada de `FileWriter` ya que permite escribir de forma más eficiente, almacenando temporalmente los datos en un buffer antes de escribirlos en el fichero. También permite usar métodos como `newLine()` para agregar saltos de línea.
¿Qué hace el método `newLine()` en `BufferedWriter`?
-El método `newLine()` inserta un salto de línea en el fichero, lo cual es útil cuando se desea escribir datos en varias líneas separadas.
¿Por qué es importante crear el fichero antes de intentar leerlo?
-Si intentas leer un fichero que no existe, Java lanzará un error. Por eso, es recomendable asegurarse de que el fichero haya sido creado antes de intentar leerlo con `BufferedReader`.
¿Cómo se puede evitar sobrescribir los datos al usar `FileWriter`?
-Para evitar sobrescribir datos en un fichero, se puede pasar `true` como segundo argumento en el constructor de `FileWriter`. Esto activará el modo 'append', que permite agregar nuevos datos al final del fichero en lugar de reemplazar los existentes.
¿Cómo se puede simplificar el bucle de lectura con `BufferedReader`?
-Una forma de simplificar el bucle es colocando la llamada a `readLine()` dentro de la condición del bucle. Esto permite que la línea sea leída y asignada en un solo paso, evitando tener que repetir la llamada a `readLine()` dentro del cuerpo del bucle.
¿Por qué es útil usar buffers al leer y escribir ficheros en Java?
-El uso de buffers reduce la cantidad de operaciones de E/S que realiza el programa, lo que aumenta la eficiencia al manejar grandes volúmenes de datos. Los buffers almacenan temporalmente los datos antes de procesarlos, lo que mejora el rendimiento.
¿Cómo afecta el uso de `BufferedReader` y `BufferedWriter` el rendimiento en comparación con `FileReader` y `FileWriter`?
-El uso de `BufferedReader` y `BufferedWriter` mejora significativamente el rendimiento cuando se manejan grandes cantidades de datos, ya que reduce el número de accesos al sistema de archivos, almacenando temporalmente los datos en la memoria antes de leerlos o escribirlos.
Outlines
📖 Introducción al Buffer Writer y Buffer Reader
Este primer párrafo presenta los temas que se van a tratar en el vídeo, enfocados en el estudio de las clases Buffer Writer y Buffer Reader en Java. Se menciona que estas clases son una mejora sobre las funcionalidades básicas de FileReader y FileReader, permitiendo la lectura de líneas completas en lugar de solo caracteres individuales. Se sugiere que, para archivos grandes, estas clases son más convenientes. Además, se hace una breve referencia a la forma en que se abordará el tema, utilizando ejemplos del curso y se destaca la importancia de las líneas de código que permiten la lectura de líneas de texto, utilizando `BufferedReader` y `BufferedWriter`. Se menciona también un truco para reducir líneas de código utilizando `System.lineSeparator()` en lugar de hardcoding el carácter de nueva línea.
🔍 Detalles de Implementación y Consideraciones
En el segundo párrafo, se profundiza en la implementación de las clases `BufferedReader` y `BufferedWriter`, comparándolas con sus contrapartes `FileReader` y `FileWriter`. Se destaca la importancia de crear un `FileReader` antes de instanciar un `BufferedReader`, y se explica cómo se puede agregar texto a un archivo existente sin sobrescribirlo, utilizando el modo de append. Se menciona la secuencia correcta de creación de objetos, insistiendo en la necesidad de crear el archivo antes de intentar leerlo con `BufferedReader`. Finalmente, se hace una mención de una prueba que se realizará para demostrar el funcionamiento de estas clases, y se invita al espectador a seguir el curso para obtener más información y a dejar sus dudas en los comentarios.
Mindmap
Keywords
💡BufferWriter
💡BufferReader
💡FileWriter
💡FileReader
💡Salto de línea
💡EOF (End of File)
💡Optimización
💡Append (Añadir)
💡Eficiencia
💡Error handling (Manejo de errores)
Highlights
Introducción al tema del BufferedWriter y BufferedReader.
Comparación con FileReader y FileWriter.
Ventajas de BufferedReader para leer línea a línea.
Ejemplo práctico de cómo usar BufferedReader.
Diferenciación entre FileWriter y BufferedWriter.
Cómo se usa BufferedReader para leer líneas de un archivo.
Importancia de usar el método readLine() en BufferedReader.
Diferenciación entre leer con y sin BufferedReader.
Cómo se utiliza el método newLine en BufferedWriter.
Ejemplo de cómo escribir en un archivo utilizando BufferedWriter.
Método para asegurar que el contenido se escriba en el archivo.
Forma alternativa de leer líneas para reducir código.
Uso de la sentencia 'tan distinto de no' para leer líneas.
Importancia de crear un FileReader antes de usar BufferedReader.
Cómo se crea un objeto FileReader.
Modo de escribir de forma reactiva en un archivo.
Diferenciación entre escribir y anexar en FileWriter.
Importancia del orden de creación y lectura de archivos.
Ejemplo de prueba para mostrar cómo funciona el append en FileWriter.
Recursos adicionales en el curso para aprender más sobre archivos.
Invitación a dejar preguntas en la caja de comentarios.
Conclusión del vídeo y anuncio del próximo vídeo.
Transcripts
[Música]
todos bienvenidos un nuevo vídeo de
disco duro de roer hoy vamos a seguir
con el curso de java y hoy vamos a ver
el tema del buffer writer y el buffer
ereader ya vimos el fin la ryder y
feller rate bien el buffer reiter y
buffett reader digamos que son como una
mejora de estos dos del filial river y
el file rate que son como lo básico bien
dijimos que con el file líder podíamos
leer carácter la carácter
pero con el buffer slider podemos leer
de línea en línea algo que pues si es un
fichero bastante grande pues nos va a
ser mucho más cómodo entonces vamos a
verlo
bien voy a copiar aquí lo que tenemos
del curso fijaos vamos a hacer con la
última forma que vimos que es la d
la d
la segunda forma que vimos de recordarlo
en el último vídeo
a veces importa se ha importado todo
pero está acabado
está en vino y también tonto nos volvió
pasa pero no pasa nada si no no me
dejaría
mientras no salga el icono rojo no pasa
nada bien
y vamos a poner esto así para que se vea
un pelín mejor
aquí bien
qué es lo que vamos a ver hoy vamos a
ver cómo funcionan estas dos clases
básicamente funciona prácticamente igual
solo que tenemos que tener en cuenta que
ahora podemos leer líneas
fijaos que este ejemplo es exactamente
igual que el que vimos simplemente estoy
con el buffet líder pero sí con el
buffet de reiter es que siendo un
verdadero siendo el buffet de reiter lo
que hago es inscribir el raid es
prácticamente igual que pedimos
exactamente solo que recordáis que os
dije lo de barra
n aquí no hace falta porque le podemos
poner eso de punto new line
digamos que eso es un salto de línea
entonces y luego puedo seguir
escribiendo
básicamente luego lo del plus que
recordar que eso es para que recargue el
fichero y lo pueda leer y fijaos fijaos
que como es la nueva forma de leer
fijaos que es muy parecido sólo que
usando un stream fijaos string línea
igual a ver punto real line línea
distinto de nulo en vez de de menos uno
recordar aquí es al revés como cuál es
el digamos cuando ya no hay más pues
cuando devuelven un digamos que voy
leyendo línea línea y cuando ya no haya
más líneas de volume no eso es un poco
de idea también os voy a enseñar porque
creo que yo soy ya estaba aquí pero voy
a comentar otra forma de hacerlo para
reducir líneas
fijaos
hay un truco muy bueno que es hacer esto
fijaos
y es sin lugar a ver punto tan distinto
de no
si yo pongo
si yo pongo esto
es lo mismo que quitar esto
fijaos es una forma que la quiero poner
porque quizá la liberal la veáis en
algún sitio y entonces pues oye que si
la veis en algún sitio que veáis que no
está mal es otra forma digamos para
hacerlo más rápido para los de que
tienen que primero y luego tener
qué
digamos al final del bucle del cual todo
lo que sea no tener que poner otra vez
del real line digamos que sos cómo
hacerlo automáticamente qué es lo que
está haciendo línea es igual a br punto
real line aquí no es real
efe line lo lee y digamos que mete el
valor en línea como está entre
paréntesis muy importante en caso de que
de mal o que de nul va a devolver el
valor y digamos que va a ser como
digamos sino bien si eso diera una línea
va a ser nulo y lo que hay entre
paréntesis todos bien uno
entonces terminaría y se va guardando
mal es una es una forma la forma que
había al principio es totalmente válida
esta también son distintas formas vale
entonces básicamente esto es un poco la
diferencia que tiene
el buje the reader con el original una
cosa también importante que no he dicho
es que a la hora de crearlo necesitamos
necesitamos un file river
vale eso es muy importante a la hora de
crear
fijaos ni un filler líder y ya
la ruta del fichero podéis también no
hace falta hacerlo de esta forma podéis
crear un objeto como hemos hecho al
principio en el anterior vídeo de joseph
y leer file reader fw igual any un file
rey del fichero 1
si hacéis eso y le pasáis al new buffer
el river es el fw camino vale entendéis
es decir lo único que necesita el poder
es un file river que es lo básico y el
digamos que la optimista esa es un poco
la idea y con el file reiter igual
recordad que esto ya lo vimos en el
anterior vídeo también que si queréis
queréis que
que a la hora de escribir sobre no son
reactivas sino que s
que se añade el texto aquí lo podéis
hacer de la misma manera conmigo por
aquí o en el otro
dentro del file reiter recordad que eso
ya lo vimos también
dentro del filler reiter simplemente le
ponemos como true
y tirando y eso quiere decir que cuando
por ejemplo hola mundo y en la próxima
integración la próxima ejecución le
pongo qué tal va a salir en el fichero
hola mundo qué tal
porque es la idea a veces solo queremos
añadir no queremos machacar todo
por último también una cosilla
importante que no lo he comentado y es
que el orden aquí es importante tenemos
que crear antes el fichero que después
es decir si tú vas a leer un fichero que
no existe antes de haberse creado con el
buffet del rey
ryder pues te va a dar error al esto es
una cosa que teníamos que lo vamos a
cambiar no os preocupéis
entonces siempre es bueno eso siempre el
primero que te van a escribir y luego el
tema de leer siempre y cuando sepa es
que ese fichero puede no existir vale y
como último que no lo había dicho vamos
a ver la prueba como veis de esto es una
prueba buscar nueva fe let's seguir
mostrando más fele y vamos a hacer la
prueba de mostrando con lo del true
y eso es
vale y lo vemos fijaos veis que se
repite porque le está diciendo vale pues
una llana melo al final y lo que está
haciendo añadirlo al final
bien pues esto es lo que hay de momento
de ficheros recordar recordar que en el
curso lo tenéis todo tenemos vídeos de
esto de ficheros sobre todo yo os
recomiendo que le echéis un vistazo voy
a dejar la descripción los ejercicios y
nos vemos en el próximo vídeo recordad
que si tenéis dudas en la caja de
comentarios así que nos vemos el próximo
adiós
[Música]
e
浏览更多相关视频
Crear y editar una actividad o tarea en EDUCA
[MOOC] - Apps para dispositivos móviles (ed. 2016) - iOS. Desarrollo de una App
Curso Java. Estructuras principales III. Declaración variables Eclipse Vídeo 6
CURSO BASICO DE CMD #2
¿GUARDAR CONTRASEÑAS EN GOOGLE CHROME?, ES SEGURO?
Curso de Windows 10. 5.4. Operaciones con archivos y carpetas
5.0 / 5 (0 votes)