Buffer o filtro de java
El ejemplo visto antes de copiar archivos de texto sería muy lento si tuviéramos un texto muy extenso dado que el programa tiene que ir Haciendo una conexión al archivo por cada letra. Para archivo grandes se han creado los buffer.
¿Qué es un Buffer?
Es un archivo de transición entre
java y el archivo donde copia o pega. Se genera un espacio en la memoria
interna entre el programa y su copia. La
información del archivo se volcará en el buffer y java accederá al bufer para
cargar o descargar la información poco a poco.
Si existen microcortes con el
programa externo no se caerá nuestro programa de java al estar tirando del
buffer en lugar del programa en sí.
Como crear un buffer
Leer un texto
Para generan un buffer necesitaremos la clase BufferdReader
y su método readLine().
El método readLine() leera línea
a línea nuestro archivo en lugar de letra a letra como hacíamos hasta el momento.
El método readLine cuando llegue
al final de la última línea nos regresará
un null.
Cuando llegue al final de
una línea nos regresará \n o \r
Lo primero creamos nuestro
instancia a BufferedReader y le pasamos por parámetros el FileReader que
creamos en anterior ejercicio.
public void leenos() {
FileReader texto; BufferedReader intermedio;
try {//abrimos comunicación
(Stream)
texto = new FileReader("C:\\Users\\dagip\\Desktop\\c/Prueba
lectura.txt");
intermedio= new BufferedReader (texto)
}
//cerramos archivo
texto.close();
} catch (IOException e) {
System.out.println("Mira si el archivo se encuentra en su sitio porque yo no
lo veo");
e.printStackTrace();
}
O
lo que es lo mismo
intermedio= new BufferedReader (new FileReader("C:\\Users\\c\\Desktop\\c/Prueba
lectura.txt"));
Una vez creado nuestro buffer lo
recorremos
public void leenos() {
BufferedReader intermedio;
try {//abrimos comunicación
(buffer)
intermedio= new BufferedReader (new FileReader("C:\\Users\\c\\Desktop\\c/Prueba
lectura.txt"));
String text_linea="";
while(text_linea!= null) {
text_linea = intermedio.readLine();
System.out.println(text_linea);
}
} catch (IOException e) {
System.out.println("Mira
si el archivo se encuentra en su sitio porque yo no lo veo");
e.printStackTrace();
}
}
Si no deseamos que escriba la línea vacía:
if (text_linea != null)System.out.println(text_linea); //si un if tiene
tan solo una línea no necesita corchetes{….}
Escribir un texto
Para generan un buffer necesitaremos la clase BufferWriter y
su método write().
public void CrearArchivoEscrito(){
String TEXTO = ("Este
texto aparecerá en el nuevo archivo si todo lo hice bien");
FileWriter archivoTexto; BufferedWriter Archivo_leido;
try {
Archivo_leido =new BufferedWriter( new FileWriter("C:\\Users\\s\\v\\x/esto se
creo por java.txt"));
Archivo_leido.write(TEXTO);
}
Archivo_leido.close();//CERRAMOS ARCHIVO
catch (IOException e) {
e.printStackTrace();
}
}
Copiar un archivo y pegarlo en otro
Utilizando lo aprendido hasta ahora podemos copiar un archivo
y pegarlo en otro:
public void leenos() {
BufferedReader intermedio;BufferedWriter Archivo_leido;
try {//abrimos comunicación
(Stream)
intermedio= new BufferedReader (new FileReader("C:\\Users\\x\\Desktop\\s/Prueba
lectura.txt"));
Archivo_leido =new BufferedWriter( new FileWriter("C:\\Users\\d\\Desktop\\x/esto se
creo por java.txt"));
String text_linea="";
while(text_linea!= null) {
text_linea = intermedio.readLine();
if (text_linea != null)Archivo_leido.write(text_linea + "\r");
}intermedio.close(); Archivo_leido.close(); //cerramos
el buffer
} catch (IOException e) {
System.out.println("Mira si el archivo se encuentra en su sitio porque yo no
lo veo");
e.printStackTrace();
}
}
}
Si te gusta el articulo continua👉
Si te gusta este articulo dale al 👍
No hay comentarios:
Publicar un comentario