Antes de Java 6, no se admite la actualización de permisos de archivos a nivel de Java. Debe implementar su propio método nativo o llamar Runtime.exec()
para ejecutar un comando de nivel de sistema operativo como chmod .
A partir de Java 6, puede utilizar File.setReadable()/File.setWritable()/File.setExecutable()
para establecer permisos de archivo. Pero no simula el sistema de archivos POSIX que permite establecer permisos para diferentes usuarios. File.setXXX () solo permite establecer permisos para el propietario y todos los demás.
A partir de Java 7, se introduce el permiso de archivo POSIX. Puede establecer permisos de archivo como lo ha hecho en los sistemas * nix. La sintaxis es:
File file = new File("file4.txt");
file.createNewFile();
Set<PosixFilePermission> perms = new HashSet<>();
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
Files.setPosixFilePermissions(file.toPath(), perms);
Este método solo se puede usar en el sistema de archivos POSIX, esto significa que no puede llamarlo en el sistema Windows.
Para obtener detalles sobre la administración de permisos de archivos, le recomendamos que lea esta publicación .
Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rwxr-x---"))