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());