Java: clase de archivo
La clase Java File representa los archivos y las rutas de directorio de forma abstracta. Esta clase se utiliza para la creación de archivos y directorios, búsqueda de archivos, eliminación de archivos, etc.
El objeto Archivo representa el archivo / directorio real en el disco. A continuación se muestra la lista de constructores para crear un objeto File.
No Señor. | Método y descripción |
---|---|
1 | File(File parent, String child) Este constructor crea una nueva instancia de archivo a partir de un nombre de ruta abstracto principal y una cadena de nombre de ruta secundaria. |
2 | File(String pathname) Este constructor crea una nueva instancia de Archivo convirtiendo la cadena de nombre de ruta dada en un nombre de ruta abstracto. |
3 | File(String parent, String child) Este constructor crea una nueva instancia de Archivo a partir de una cadena de nombre de ruta principal y una cadena de nombre de ruta secundaria. |
4 | File(URI uri) Este constructor crea una nueva instancia de Archivo convirtiendo el archivo dado: URI en un nombre de ruta abstracto. |
Una vez que tenga el objeto File en la mano, habrá una lista de métodos auxiliares que se pueden usar para manipular los archivos.
No Señor. | Método y descripción |
---|---|
1 | public String getName() Devuelve el nombre del archivo o directorio indicado por este nombre de ruta abstracto. |
2 | public String getParent() Devuelve la cadena de nombre de ruta del padre de este nombre de ruta abstracto, o nulo si este nombre de ruta no nombra un directorio padre. |
3 | public File getParentFile() Devuelve el nombre de ruta abstracto del padre de este nombre de ruta abstracto, o nulo si este nombre de ruta no nombra un directorio padre. |
4 | public String getPath() Convierte este nombre de ruta abstracto en una cadena de nombre de ruta. |
5 | public boolean isAbsolute() Comprueba si este nombre de ruta abstracto es absoluto. Devuelve verdadero si este nombre de ruta abstracto es absoluto, falso en caso contrario. |
6 | public String getAbsolutePath() Devuelve la cadena de nombre de ruta absoluta de este nombre de ruta abstracto. |
7 | public boolean canRead() Comprueba si la aplicación puede leer el archivo indicado por este nombre de ruta abstracto. Devuelve verdadero si y solo si el archivo especificado por este nombre de ruta abstracto existe y puede ser leído por la aplicación; falso de lo contrario. |
8 | public boolean canWrite() Comprueba si la aplicación puede modificar el archivo indicado por este nombre de ruta abstracto. Devuelve verdadero si y solo si el sistema de archivos realmente contiene un archivo indicado por este nombre de ruta abstracto y la aplicación puede escribir en el archivo; falso de lo contrario. |
9 | public boolean exists() Comprueba si existe el archivo o directorio indicado por este nombre de ruta abstracto. Devuelve verdadero si y solo si existe el archivo o directorio indicado por este nombre de ruta abstracto; falso de lo contrario. |
10 | public boolean isDirectory() Comprueba si el archivo indicado por este nombre de ruta abstracto es un directorio. Devuelve verdadero si y solo si el archivo indicado por esta ruta abstracta existe y es un directorio; falso de lo contrario. |
11 | public boolean isFile() Comprueba si el archivo indicado por este nombre de ruta abstracto es un archivo normal. Un archivo es normal si no es un directorio y, además, satisface otros criterios dependientes del sistema. Se garantiza que cualquier archivo que no sea de directorio creado por una aplicación Java sea un archivo normal. Devuelve verdadero si y solo si el archivo indicado por este nombre de ruta abstracto existe y es un archivo normal; falso de lo contrario. |
12 | public long lastModified() Devuelve la hora a la que se modificó por última vez el archivo indicado por esta ruta abstracta. Devuelve un valor largo que representa la hora en que se modificó por última vez el archivo, medido en milisegundos desde la época (00:00:00 GMT, 1 de enero de 1970), o 0L si el archivo no existe o si se produce un error de E / S. |
13 | public long length() Devuelve la longitud del archivo indicado por este nombre de ruta abstracto. El valor de retorno no se especifica si esta ruta denota un directorio. |
14 | public boolean createNewFile() throws IOException Atómicamente crea un archivo nuevo y vacío llamado por este nombre de ruta abstracto si y solo si un archivo con este nombre aún no existe. Devuelve verdadero si el archivo nombrado no existe y se creó correctamente; falso si el archivo nombrado ya existe. |
15 | public boolean delete() Elimina el archivo o directorio indicado por este nombre de ruta abstracto. Si este nombre de ruta denota un directorio, entonces el directorio debe estar vacío para poder ser eliminado. Devuelve verdadero si y solo si el archivo o directorio se elimina correctamente; falso de lo contrario. |
dieciséis | public void deleteOnExit() Solicita que el archivo o directorio indicado por este nombre de ruta abstracto se elimine cuando finalice la máquina virtual. |
17 | public String[] list() Devuelve una matriz de cadenas que nombran los archivos y directorios en el directorio indicado por este nombre de ruta abstracto. |
18 | public String[] list(FilenameFilter filter) Devuelve una matriz de cadenas que nombran los archivos y directorios en el directorio indicado por este nombre de ruta abstracto que satisface el filtro especificado. |
20 | public File[] listFiles() Devuelve una matriz de rutas abstractas que denotan los archivos del directorio indicado por esta ruta abstracta. |
21 | public File[] listFiles(FileFilter filter) Devuelve una matriz de rutas abstractas que denotan los archivos y directorios en el directorio indicado por esta ruta abstracta que satisfacen el filtro especificado. |
22 | public boolean mkdir() Crea el directorio nombrado por este nombre de ruta abstracto. Devuelve verdadero si y solo si se creó el directorio; falso de lo contrario. |
23 | public boolean mkdirs() Crea el directorio nombrado por este nombre de ruta abstracto, incluidos los directorios principales necesarios pero inexistentes. Devuelve verdadero si y solo si se creó el directorio, junto con todos los directorios principales necesarios; falso de lo contrario. |
24 | public boolean renameTo(File dest) Cambia el nombre del archivo indicado por este nombre de ruta abstracto. Devuelve verdadero si y solo si el cambio de nombre se realizó correctamente; falso de lo contrario. |
25 | public boolean setLastModified(long time) Establece la hora de la última modificación del archivo o directorio nombrado por este nombre de ruta abstracto. Devuelve verdadero si y solo si la operación tuvo éxito; falso de lo contrario. |
26 | public boolean setReadOnly() Marca el archivo o directorio nombrado por este nombre de ruta abstracto para que solo se permitan operaciones de lectura. Devuelve verdadero si y solo si la operación tuvo éxito; falso de lo contrario. |
27 | public static File createTempFile(String prefix, String suffix, File directory) throws IOException Crea un nuevo archivo vacío en el directorio especificado, utilizando el prefijo y las cadenas de sufijo dados para generar su nombre. Devuelve un nombre de ruta abstracto que denota un archivo vacío recién creado. |
28 | public static File createTempFile(String prefix, String suffix) throws IOException Crea un archivo vacío en el directorio de archivos temporales predeterminado, usando el prefijo y sufijo dados para generar su nombre. Invocar este método es equivalente a invocar createTempFile (prefijo, sufijo, nulo). Devuelve un nombre de ruta abstracto que denota un archivo vacío recién creado. |
29 | public int compareTo(File pathname) Compara dos nombres de ruta abstractos de forma lexicográfica. Devuelve cero si el argumento es igual a este nombre de ruta abstracto, un valor menor que cero si este nombre de ruta abstracto es lexicográficamente menor que el argumento, o un valor mayor que cero si este nombre de ruta abstracto es lexicográficamente mayor que el argumento. |
30 | public int compareTo(Object o) Compara este nombre de ruta abstracto con otro objeto. Devuelve cero si el argumento es igual a este nombre de ruta abstracto, un valor menor que cero si este nombre de ruta abstracto es lexicográficamente menor que el argumento, o un valor mayor que cero si este nombre de ruta abstracto es lexicográficamente mayor que el argumento. |
31 | public boolean equals(Object obj) Prueba la igualdad de este nombre de ruta abstracto con el objeto dado. Devuelve verdadero si y solo si el argumento no es nulo y es un nombre de ruta abstracto que denota el mismo archivo o directorio que este nombre de ruta abstracto. |
32 | public String toString() Devuelve la cadena de nombre de ruta de este nombre de ruta abstracto. Esta es solo la cadena devuelta por el método getPath (). |
Ejemplo
A continuación se muestra un ejemplo para demostrar el objeto File:
package com.tutorialspoint;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File f = null;
String[] strs = {"test1.txt", "test2.txt"};
try {
// for each string in string array
for(String s:strs ) {
// create new file
f = new File(s);
// true if the file is executable
boolean bool = f.canExecute();
// find the absolute path
String a = f.getAbsolutePath();
// prints absolute path
System.out.print(a);
// prints
System.out.println(" is executable: "+ bool);
}
} catch (Exception e) {
// if any I/O error occurs
e.printStackTrace();
}
}
}
Considere que hay un archivo ejecutable test1.txt y otro archivo test2.txt no es ejecutable en el directorio actual. Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
Salida
/home/cg/root/2880380/test1.txt is executable: false
/home/cg/root/2880380/test2.txt is executable: false