La clase File sirve para encapsular la interacción de nuestros programas con el sistema de archivos
Enviado por maurizio90 • 23 de Octubre de 2011 • Trabajo • 1.294 Palabras (6 Páginas) • 1.057 Visitas
CLASE FILE.
La clase File sirve para encapsular la interacción de nuestros programas con el sistema de archivos. Mediante la clase File no nos limitamos a leer el contenido de un archivo, como ocurría con la clase FileInputStream, sino que podemos obtener información adicional, como el tamaño del archivo, su tipo, su fecha de creación, los permisos de acceso que tenemos sobre él, etc.
Además, la clase File es la única forma que tenemos de trabajar con directorios (crearlos, ver los archivos que contienen, cambiar el nombre o borrar los archivos, etc.)
La forma más sencilla de crear un objeto File es:
File miArchivo = new File("c:\temp\archivo.txt");
Es muy importante darse cuenta de la diferencia entre un objeto de tipo File y el archivo o directorio al que se refiere. Por ejemplo, el archivo c:temparchivo.txt que aparece en el fragmento de código anterior no tiene por qué existir. Para saber si un objeto File se refiere a un archivo existente podemos usar el método exists():
File miArchivo = new File("c:\temp\archivo.txt");
if (miArchivo.exists())
{
/* El archivo existe */
}
else
{
/* El archivo no existe */
}
Podemos obtener más información de un objeto File:
File f = new File("c:\temp\archivo.txt");
long = f.length(); /* Tamaño del archivo */
boolean lectura = f.canRead() /* ¿Podemos leer el archivo? */
boolean escritura = f.canWrite() /* ¿Podemos escribir el archivo? */
if (f.delete())
{ /* Archivo borrado con éxito */ }
else
{ /* El archivo no se ha podido borrar */ }
String nombre = f.getName() /* Nombre (sin directorio) del archivo */
String dir = f.getParent() /* Directorio del archivo */
if (f.isDirectory())
{ /* Es un directorio */ }
else
{ /* No es un directorio */ }
if (f.isFile())
{ /* Es un archivo normal */ }
else
{ /* No es un archivo normal */ }
long modificado = f.lastModified(); /* Fecha de última modificación */
if (f.renameTo(new File("c:\temp\otroArchivo.txt")))
{ /* Nombre de archivo modificado */ }
else
{ /* Nombre de archivo no modificado */ }
Las siguientes líneas de código muestran algunos ejemplo sobre como trabajar con directorios mediante la clase File:
File f = new File("c:\temp");
String[] lista = f.list(); /* Obtenemos la lista de archivos */
for(int
...