9. Java – Manejo De Archivos



Bienvenidos a nuestro Curso de Java desde Cero, en éste capítulo estaremos viendo como escribir y leer (I/O) información de un archivo en Java.

Paquete Java.Io

El paquete java.io contiene casi todas las clases que podamos necesitar para llevar a cabo la entrada y salida (I/O) en Java. En especial, vamos a hacer uso de los llamados streams para poder leer y escribir datos en los archivos.Un stream puede ser definido como una secuencia de datos. El InputStream se utiliza para leer datos de una fuente y el OutputStream se utiliza para escribir datos en un destino.

¿Cómo Leer Un Texto De Un Archivo?

Veamos:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
public class Archivo{
 
  public String leerArchivo(String nombreArchivo) {
    String texto = "";
    FileReader archivo = null;
    String linea = "";
    try {
      archivo = new FileReader(nombreArchivo);
      BufferedReader lector = new BufferedReader(archivo);
      while ((linea = lector.readLine()) != null) {
        texto += linea + "\n";
      }
    } catch (FileNotFoundException e) {
      throw new RuntimeException("Archivo no encontrado");
    } catch (IOException e) {
      throw new RuntimeException("Ocurrio un error de entrada/salida");
    } finally {
      if (archivo != null) {
        try {
          archivo.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
    return texto;
  }
}
Podemos observar que en el código declaramos una clase ejemplo llamada Archivo y un método leerArchivo el cual nos va ayudar a extraer el texto del archivo. El método se ayuda de la clase FileReader de Java para acceder a el archivo y de un buffer de lectura (BufferedReader) para poder extraer los datos del texto.
Simplemente lo que realiza a manera de flujo este método, es la apertura del archivo con ayuda del archivo = new FileReader(nombreArchivo), segundo genera un buffer de lectura en el cual se va a ir cargando el texto extraído del archivo con ayuda del BufferedReader lector. Y por ultimo va a ir recorriendo con un loop el archivo linea por linea y al almacenando el contenido de dicha linea en el buffer lector para que una vez que se finalice la lectura y se cierre el archivo con archivo.close() sea retornado el valor del texto.

¿Cómo Guardar Un Texto En Un Archivo?

Veamos:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
public class Archivo{
 
public void escribirArchivo(String nombreArchivo, String texto) {
    FileWriter salida = null;
    try {
      salida = new FileWriter(nombreArchivo);
      BufferedWriter escritor = new BufferedWriter(salida);
      escritor.write(texto);
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (salida != null) {
        try {
          salida.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
 
  }
}
Podemos observar que en el código declaramos una clase ejemplo llamada Archivo y un método escribirArchivo el cual nos va ayudar a guardar el texto del archivo. El método se ayuda de la clase FileWriter de Java para acceder a el archivo y de un buffer de escritura (BufferedWriter) para poder guardar los datos del texto.
Simplemente lo que realiza a manera de flujo este método, es la apertura del archivo con ayuda del salida = new FileWriter(nombreArchivo), segundo genera un buffer de salida en el cual se va a cargar el texto con ayuda del BufferedWriter escritor. Y por ultimo va a escribir los datos en el archivo con escritor.write(texto), una vez que se finalice la escritura se cerrará el archivo con salida.close().

Probemos

Para probar la clase que creamos anteriormente primero vamos a necesitar crear un archivo de prueba, nosotros utilizaremos Test.txty el mismo se encuentrara en la carpeta de nuestro proyecto de prueba. Segundo vamos a tener que agregar el siguiente código en la clase principal de nuestro proyecto.
public class Main {
  public static void main(String[] args) {
    Archivo archivo = new Archivo();
    String entrada = archivo.leerArchivo("Test.txt");
    System.out.println(entrada);
    archivo.escribirArchivo("TestCopy.txt", entrada);
  }
}
Nota
Nuestro archivo Text.txt tiene dentro un texto Text de prueba para tutorial!
Observemos que este código lo único que va a ser es instanciar la clase Archivo para poder hacer uso de los métodos de escritura y de lectura. A su vez, va a leer el texto contenido en el archivo Test.txt, lo va a imprimir en la consola y por ultimo va a crear un archivo llamado TestCopy.txt con el texto extraído del archivo anterior.
Si ejecutamos el proyecto deberíamos obtener:

Por Consola

Text de prueba para tutorial!

En Archivo

Un archivo extra denominado TestCopy.txt.

Comentarios

Entradas populares de este blog

Kali Linux Guia Español (Mega)(Pdf)

MEGA PAQUETE CON MAS DE 60 CURSOS DE VIDEO2BRAIN

Ethical Hacking 2.0 - Implementación de un Sistema para la Gestión de la Seguridad • [USERS] • [PDF]