Inicio > Java > La clase File – Java

La clase File – Java


La clase File – Java

¿Existe el fichero y es accesible?

La clase File en java representa un fichero y nos permite obtener información sobre él. Al instanciar la clase File con un fichero, no se abre el fichero ni es necesario que este exista y precisamente esa es la primera información útil que podemos obtener del fichero: saber si existe o no.

Creamos un proyecto llamado ClaseFile

Creamos una clase que se llame VerificarArchivoExiste

import java.io.File;
public class VerificarArchivoExiste {
 public static void main(String[] args) {
  File f = new File(“fichero_RAHSuarez.txt“);
  if (f.exists())
  {
   System.out.println(“El fichero existe“);
  }
  else
  {
   System.out.println(“El fichero no existe“);
  }  
 }
}

Creamos una nueva clase llamada Permisos para ver los permisos que tenemos sobre ese archivo

import java.io.File;
public class Permisos {
 public static void main(String[] args) {
  File f = new File(“fichero_RAHSuarez.txt“);
  if (f.exists())
  {
   if (f.canRead())
   {
    System.out.println(“El fichero existe y se puede leer”);
   }
   if (f.canWrite())
   {
    System.out.println(“El fichero existe y se puede escribir en él“);
   }    
   if (f.canExecute())
   {
    System.out.println(“El fichero existe y se puede ejecutar“);
   }
  } 
  else
  {
   System.out.println(“El fichero no existe“);
  }  
 }
}

Tenemos, además, los correspondientes métodos setReadable(), setReadOnly(), setWritable() y setExcutable() que nos permiten cambiar las propiedades del fichero siempre que seamos los propietarios del mismo o tengamos permisos para hacerlo.

Listar los ficheros de un directorio

La siguiente comprobación útil que se puede hacer con un File es determinar si es un fichero normal o es un directorio. Si es un directorio, podemos obtener un listado de los ficheros contenidos en él.

El siguiente ejemplo muestra los ficheros y subdirectorios dentro de un directorio.

Creamos una nueva clase llamada FicherosDirectorio

import java.io.File;
public class FicherosDirectorio {
 public static void main(String[] args) {
  File directorio = new File(“C:/JavaProyectos/ClaseFile“);
  // Si es un directorio
  if (directorio.isDirectory())
  {
   // obtenemos su contenido
   File[] ficheros = directorio.listFiles();
   // y lo sacamos por pantalla
   for (File fichero : ficheros)
    System.out.println(fichero.getName());
  }
 }
}

Ficheros temporales

A veces nuestra aplicación puede querer crear un fichero temporal. Un fichero temporal es en el que nuestra aplicación quiere guardar datos temporalmente, pero que al terminar la aplicación dejan de tener sentido y, por tanto, se debe borrar el fichero.

Crearemos una Clase llamada FicheroTemporal

import java.io.File;
import java.io.IOException;
public class FicheroTemporal {
 public static void main(String[] args) {
  try {
   // Creación del fichero temporal.
   // Si usamos null de segundo parametro, se usara por defecto
   // “.tmp”. Si no, se usara la que pongamos.
   File temporal = File.createTempFile(“ArchivoTemporal”, null);
   
   // Se indica que se borre el fichero al terminar el programa
   temporal.deleteOnExit();
   
   // Se comprueba que se ha creado
   if (temporal.exists()) {
    System.out.println(“Creado “+temporal.getName());
    // Aqui podemos abrir el fichero y escribir cosas en él
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

Ocupación del disco duro

La clase File también nos permite obtener un listado de las unidades de disco disponibles por medio del método listRoots(). Para cada una de ellas podemos a su vez obtener usando la clase File tanto el espacio total del disco como el espacio libre.

Crearemos una nueva clase llamada DiscoDuro

import java.io.File;
public class DiscoDuro {
 public static void main(String[] args) {
  // Obtenemos los directorios raiz de cada disco disponible
  File[] roots = File.listRoots();
    
  // Escribimos el nombre del disco, su espacio libre y su espacio
  // total.
  for (File root : roots) {
   System.out.println(“En ” +root+” hay “+root.getFreeSpace() +
     “ libres de un total de “+root.getTotalSpace());
  }
 }
}

Categorías:Java
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: