Clase File de Java

Java 流(Stream)Flujos (Stream) 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

// Crear mediante una cadena de ruta
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, devuelvenull。
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, devuelvenull。
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

import java.io.File; public class DirList { public static void main(String args[]) { String dirname = "/java"; File f1 = new File(dirname); if (f1.isDirectory()) { System.out.println("Directory of " + dirname); String s[] = f1.list(); for (int i = 0; i < s.length; i++) { File f = new File(dirname + "/" + s[i]); if (f.isDirectory()) { System.out.println(s[i] + " is a directory"); } else { System.out.println(s[i] + " is a file"); } } } else { System.out.println(dirname + " is not a directory"); } } }

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

Java 流(Stream)Flujos (Stream) de Java

Otras extensiones