Clase File de Java
En Java, la clase File es parte del paquete java.io y se utiliza para manejar rutas de archivos y directorios.
La clase File de Java representa de forma abstracta nombres de archivos y rutas de directorios. La clase File se utiliza principalmente para la creación de archivos y directorios, la búsqueda de archivos y la eliminación de archivos, etc.
El objeto File representa archivos y directorios que existen realmente en el disco. Se crea un objeto File mediante los siguientes constructores.
Crea una nueva instancia de File a partir de la ruta abstracta principal y la cadena de ruta secundaria dadas:
File file = new File(File parent, String child);
Crea una nueva instancia de File convirtiendo la cadena de ruta dada en una ruta abstracta:
File file = new File(String pathname);
Crea una nueva instancia de File según la cadena de ruta 'parent' y la cadena de ruta 'child'.
File file = new File(String parent, String child);
Crea una nueva instancia de File convirtiendo el URI 'file:' dado en una ruta abstracta.
File file = new File(URI uri)

Ejemplo
File file1 = new File("C:/test/test.txt");
// Crear mediante la ruta principal y la ruta secundaria
File file2 = new File("C:/test", "test.txt");
// Crear mediante el objeto File principal y la ruta secundaria
File parent = new File("C:/test");
File file3 = new File(parent, "test.txt");
Una vez creado correctamente el objeto File, puede utilizar los métodos de la siguiente lista para manipular archivos.
| No. | Descripción del método |
|---|---|
| 1 |
public String getName() Devuelve el nombre del archivo o directorio representado por esta ruta abstracta. |
| 2 |
public String getParent() Devuelve la cadena de ruta del nombre de ruta principal de esta ruta abstracta; si esta ruta no especifica un directorio principal, devuelve null。 |
| 3 |
public File getParentFile() Devuelve la ruta abstracta del nombre de ruta principal de esta ruta abstracta; si esta ruta no especifica un directorio principal, devuelve null。 |
| 4 |
public String getPath() Convierte esta ruta abstracta en una cadena de ruta. |
| 5 |
public boolean isAbsolute() Comprueba si esta ruta abstracta es una ruta absoluta. |
| 6 |
public String getAbsolutePath() Devuelve la cadena de ruta absoluta de la ruta abstracta. |
| 7 |
public boolean canRead() Comprueba si la aplicación puede leer el archivo representado por esta ruta abstracta. |
| 8 |
public boolean canWrite() Comprueba si la aplicación puede modificar el archivo representado por esta ruta abstracta. |
| 9 |
public boolean exists() Comprueba si existe el archivo o directorio representado por esta ruta abstracta. |
| 10 |
public boolean isDirectory() Comprueba si el archivo representado por esta ruta abstracta es un directorio. |
| 11 |
public boolean isFile() Comprueba si el archivo representado por esta ruta abstracta es un archivo estándar. |
| 12 |
public long lastModified() Devuelve la hora de la última modificación del archivo representado por esta ruta abstracta. |
| 13 |
public long length() Devuelve la longitud del archivo representado por esta ruta abstracta. |
| 14 |
public boolean createNewFile() throws IOException Crea atómicamente un nuevo archivo vacío especificado por esta ruta abstracta si y solo si no existe ningún archivo con el nombre especificado por esta ruta abstracta. |
| 15 |
public boolean delete() Elimina el archivo o directorio representado por esta ruta abstracta. |
| 16 |
public void deleteOnExit() Solicita que se elimine el archivo o directorio representado por esta ruta abstracta cuando finalice la máquina virtual. |
| 17 |
public String[] list() Devuelve una matriz de cadenas compuesta por los nombres de los archivos y directorios del directorio representado por esta ruta abstracta. |
| 18 |
public String[] list(FilenameFilter filter) Devuelve una matriz de cadenas compuesta por los nombres de los archivos y directorios contenidos en el directorio representado por la ruta abstracta que cumple con el filtro especificado. |
| 19 |
public File[] listFiles() Devuelve una matriz de rutas abstractas que representan los archivos del directorio representado por esta ruta abstracta. |
| 20 |
public File[] listFiles(FileFilter filter) Devuelve una matriz de rutas abstractas que representan los archivos y directorios del directorio representado por esta ruta abstracta, y que cumplen un filtro específico. |
| 21 |
public boolean mkdir() Crea el directorio especificado por esta ruta abstracta. |
| 22 |
public boolean mkdirs() Crea el directorio especificado por esta ruta abstracta, incluyendo los directorios principales necesarios que no existen. |
| 23 |
public boolean renameTo(File dest) Renombra el archivo representado por esta ruta abstracta. |
| 24 |
public boolean setLastModified(long time) Establece la hora de última modificación del archivo o directorio especificado por esta ruta abstracta. |
| 25 |
public boolean setReadOnly() Marca el archivo o directorio especificado por esta ruta abstracta para que solo pueda realizarse una operación de lectura sobre él. |
| 26 |
public static File createTempFile(String prefix, String suffix, File directory) throws IOException Crea un nuevo archivo vacío en el directorio especificado, generando su nombre con las cadenas de prefijo y sufijo dadas. |
| 27 |
public static File createTempFile(String prefix, String suffix) throws IOException Crea un archivo vacío en el directorio de archivos temporales predeterminado, generando su nombre con el prefijo y sufijo dados. |
| 28 |
public int compareTo(File pathname) Compara dos rutas abstractas en orden alfabético. |
| 29 |
public int compareTo(Object o) Compara la ruta abstracta con el objeto dado en orden alfabético. |
| 30 |
public boolean equals(Object obj) Comprueba si esta ruta abstracta es igual al objeto dado. |
| 31 |
public String toString() Devuelve la cadena de ruta de esta ruta abstracta. |
Ejemplo
El siguiente ejemplo demuestra el uso del objeto File:
Ejemplo
El resultado de compilar y ejecutar el ejemplo anterior es el siguiente:
Directory of /java bin is a directory lib is a directory demo is a directory test.txt is a file README is a file index.html is a file include is a directory
Otras extensiones
Flujos (Stream) de Java