Files
La clase Files
proporciona métodos para manipular archivos y directorios en el sistema de archivos. Esta clase es parte del paquete java.nio.file
y es la clase principal para la entrada/salida (E/S) de archivos en Java.
Métodos para crear y borrar archivos y directorios
Los siguientes métodos se utilizan para crear y borrar archivos y directorios:
- createFile(Path path): Crea un nuevo archivo en la ruta especificada.
Path path = Paths.get("archivo.txt");
Files.createFile(path);
- createDirectories(Path path): Crea una nueva carpeta en la ruta especificada.
Path path = Paths.get("carpeta");
Files.createDirectories(path);
- delete(Path path): Borra el archivo o directorio especificado.
Path path = Paths.get("archivo.txt");
Files.delete(path);
- deleteIfExists(Path path): Borra el archivo o directorio especificado si existe.
Path path = Paths.get("archivo.txt");
Files.deleteIfExists(path);
Métodos para leer y escribir datos en archivos
Los siguientes métodos se utilizan para leer y escribir datos en archivos:
- readAllBytes(Path path): Lee todos los bytes del archivo especificado.
Path path = Paths.get("archivo.txt");
byte[] bytes = Files.readAllBytes(path);
- readAllLines(Path path): Lee todas las líneas del archivo especificado como una lista de
String
.
Path path = Paths.get("archivo.txt");
List<String> lines = Files.readAllLines(path);
- write(Path path, byte[] bytes): Escribe los bytes especificados en el archivo especificado.
Path path = Paths.get("archivo.txt");
byte[] bytes = "Hola mundo".getBytes();
Files.write(path, bytes);
- write(Path path, String content): Escribe el contenido especificado en el archivo especificado.
Path path = Paths.get("archivo.txt");
String content = "Hola mundo";
Files.write(path, content);
- write(Path path, Iterable<? extends CharSequence> lines): Escribe las líneas especificadas en el archivo especificado.
Path path = Paths.get("archivo.txt");
List<String> lines = Arrays.asList("Hola", "mundo");
Files.write(path, lines);
Métodos para comprobar la existencia y el estado de archivos y directorios
Los siguientes métodos se utilizan para comprobar la existencia y el estado de archivos y directorios:
- exists(Path path): Devuelve
true
si el archivo o directorio especificado existe.
Path path = Paths.get("archivo.txt");
boolean exists = Files.exists(path);
- isDirectory(Path path): Devuelve
true
si la ruta especificada representa un directorio.
Path path = Paths.get("carpeta");
boolean isDirectory = Files.isDirectory(path);
- isRegularFile(Path path): Devuelve
true
si la ruta especificada representa un archivo regular.
Path path = Paths.get("archivo.txt");
boolean isRegularFile = Files.isRegularFile(path);
- isSymbolicLink(Path path): Devuelve
true
si la ruta especificada representa un enlace simbólico.
Path path = Paths.get("archivo.txt");
boolean isSymbolicLink = Files.isSymbolicLink(path);
- isHidden(Path path): Devuelve
true
si la ruta especificada es un archivo o directorio oculto.
Path path = Paths.get("archivo.txt");
boolean isHidden = Files.isHidden(path);
La clase Files
proporciona varios métodos para obtener información sobre archivos y directorios. Estos métodos se utilizan para obtener información sobre el nombre, el tamaño, la fecha de creación y modificación, y otros atributos de los archivos y directorios.
Métodos para obtener el nombre de un archivo o directorio
Los siguientes métodos se utilizan para obtener el nombre de un archivo o directorio:
- getName(Path path): Devuelve el nombre del archivo o directorio especificado.
Path path = Paths.get("archivo.txt");
String name = Files.getName(path);
- getFileName(Path path): Devuelve el nombre del archivo o directorio especificado, sin incluir la ruta.
Path path = Paths.get("carpeta/archivo.txt");
String name = Files.getFileName(path);
Métodos para obtener el tamaño de un archivo
Los siguientes métodos se utilizan para obtener el tamaño de un archivo:
- size(Path path): Devuelve el tamaño del archivo especificado en bytes.
Path path = Paths.get("archivo.txt");
long size = Files.size(path);
Métodos para obtener la fecha de creación y modificación de un archivo
Los siguientes métodos se utilizan para obtener la fecha de creación y modificación de un archivo:
- creationTime(Path path): Devuelve la fecha de creación del archivo especificado.
Path path = Paths.get("archivo.txt");
FileTime creationTime = Files.creationTime(path);
- lastModifiedTime(Path path): Devuelve la fecha de modificación del archivo especificado.
Path path = Paths.get("archivo.txt");
FileTime lastModifiedTime = Files.lastModifiedTime(path);
Métodos para obtener otros atributos de un archivo o directorio
Los siguientes métodos se utilizan para obtener otros atributos de un archivo o directorio:
- isReadable(Path path): Devuelve
true
si el archivo o directorio especificado es legible.
Path path = Paths.get("archivo.txt");
boolean isReadable = Files.isReadable(path);
- isWritable(Path path): Devuelve
true
si el archivo o directorio especificado es escribible.
Path path = Paths.get("archivo.txt");
boolean isWritable = Files.isWritable(path);
- isExecutable(Path path): Devuelve
true
si el archivo o directorio especificado es ejecutable.
Path path = Paths.get("archivo.txt");
boolean isExecutable = Files.isExecutable(path);
- isHidden(Path path): Devuelve
true
si el archivo o directorio especificado está oculto.
Path path = Paths.get("archivo.txt");
boolean isHidden = Files.isHidden(path);
Ejemplos
El siguiente código obtiene el nombre, el tamaño, la fecha de creación y modificación de un archivo:
Path path = Paths.get("archivo.txt");
String name = Files.getName(path);
long size = Files.size(path);
FileTime creationTime = Files.creationTime(path);
FileTime lastModifiedTime = Files.lastModifiedTime(path);
System.out.println("Nombre: " + name);
System.out.println("Tamaño: " + size);
System.out.println("Fecha de creación: " + creationTime);
System.out.println("Fecha de modificación: " + lastModifiedTime);
El siguiente código obtiene el nombre y el estado de un directorio:
Path path = Paths.get("carpeta");
String name = Files.getName(path);
boolean isDirectory = Files.isDirectory(path);
System.out.println("Nombre: " + name);
System.out.println("Es directorio: " + isDirectory);