Files Class

Files Class

Tiene decenas de métodos estáticos para hacer múltiples operaciones con ficheros y directorios.

exists

// Recibe un path como argumento
if (Files.exists(p))
    System.out.println("La ruta sí existe");

notExists

Path p = Paths.get("file.txt");
// Recibe un path como argumento
if (Files.notExists(p)) {
    System.out.println("La ruta no existe");

isRegularFile

Un regular file es un archivo que contiene datos y no es un directorio o un enlace simbólico

if (Files.isRegularFile(p))
    System.out.println("El fichero " + p + " es regular");

isSameFile

Comprueba si dos rutas apuntan al mismo archivo

// pi and p2 son paths
if (Files.isSameFile(p, p2))
    System.out.println("Son el mismo fichero");

abrir un flujo de escritura

//Creamos un fichero, y abrimos el flujo de texto para escribir
Path p = Paths.get("files", "fichero.txt");
BufferedWriter bw = Files.newBufferedWriter(p);
bw.write("Curso de Java 8 para programadores Java en www.openwebinars.net");

copiar un archivo

Path p = Paths.get("files", "fichero.txt");
Path copia = Paths.get("files", "fichero_copia.txt");
Files.copy(p, copia, StandardCopyOption.REPLACE_EXISTING);

mover un archivo

Path p = Paths.get("files", "fichero.txt");
Files.move(copia, Paths.get("files", "copiado.txt"), StandardCopyOption.REPLACE_EXISTING);

borrar un archivo

Path p = Paths.get("files", "fichero.txt");
Files.deleteIfExists(Paths.get("files", "copiado.txt"));

Crear directorio

Files.createDirectory(Paths.get("files", "subdir2"));

listar directorios

DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Paths.get("files"));
for (Path p : directoryStream)
    System.out.println(p.getFileName());