Java

Como Manejar Ficheros en Java

En este artículo voy a explicar cómo se manejan los ficheros en Java, más concretamente los ficheros binarios, que permiten trabajar con todo tipo de archivos como imágenes, PDFs, etc.

La clase File

La clase File representa un archivo o directorio. Para crear un objeto de la clase File le debemos pasar el nombre del fichero de nuestro sistema o la ruta absoluta. Si solo pasamos el nombre del archivo, para que Java reconozca ese archivo si lo queremos leer, debe estar en el directorio de trabajo. Mediante la ruta absoluta podemos leer cualquier fichero del sistema.

Las clases InputStream y OutputStream

La clase InputStream sirve para leer los bytes de los ficheros. La clase OutputStream para escribirlos. Son clases abstractas por lo que para crear instancias debemos utilizar algunas de las clases que las extienden. En mi caso utilizaré para los ejemplos FileInputStream y FileOutputStream.

Crear un InputStream a partir de un File

Este es el ejemplo más sencillo, ya que el constructor de la clase FileInputStream recibe un objeto de la clase File:

try {
  File file = new File(nombreFichero);
  InputStream inputStream = new FileInputStream(file);
} catch (FileNotFoundException e) {
  System.out.println("Fichero no encontrado");
}

Crear un File a partir de un OutputStream

Esto nos permite escribir en un fichero los bytes contenidos en el OutputStream:

try {
  File file = new File(nombreFichero);
  OutputStream outputStream = new FileOutputStream(file);
  outputStream.write(bytes);
} catch (FileNotFoundException e) {
  System.out.println("Fichero no encontrado");
} finally {
  outputStream.close();
 
}

Crear un File a partir de un InputStream

Esto nos permite leer un InputStream y escribirlo en un nuevo fichero.

try {
  InputStream inputStream = new FileInputStream(nombreFichero);  	
                              	
  OutputStream outputStream = new FileOutputStream(new File(nombreFichero));
                              	
  int read = 0;
  byte[] bytes = new byte[1024];
         	
  while ((read = inputStream.read(bytes)) != -1) {
    outputStream.write(bytes, 0, read);
   
} catch (FileNotFoundException e) {
    System.out.println("Fichero no encontrado");
} catch (IOException e) {
    System.out.println("Fallo al leer o escribir");
} finally {
    inputStream.close();
    outputStream.close();
}

Esto ha sido todo. Espero que estos ejemplos de uso de ficheros en Java os ayude con vuestras aplicaciones.

Dejar un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga una mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información sobre las cookies utilizadas.plugin cookies

ACEPTAR
Aviso de cookies