tipos sistema operativo llamadas ejemplos java posix java-7 nio nio2

llamadas - Java 7: cómo comprobar si el sistema operativo es compatible con POSIX



llamadas al sistema operativo ejemplos (1)

Estoy escribiendo una aplicación multiplataforma que crea archivos temporales y los copia en otra ubicación, donde todos deben poder leerlos. (De forma predeterminada, solo el propietario tiene acceso de lectura a los archivos temporales). Intenté usar los permisos de los archivos POSIX de la siguiente manera:

FileAttribute<Set<PosixFilePermission>> attrs = PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rw-r--r--")); Path temp = Files.createTempFile(null, ".tmp", attrs);

Pero esto resulta en una excepción en plataformas que no son POSIX:

java.lang.UnsupportedOperationException: ''posix:permissions'' not supported as initial attribute

Quiero agregar una comprobación simple para poder usar los permisos de archivo donde sea necesario, sin romper la compatibilidad con otras plataformas.


Al profundizar en el código JDK, esta es la verificación que se usa para POSIX

de java.nio.file.TempFileHelper

private static final boolean isPosix = FileSystems.getDefault().supportedFileAttributeViews().contains("posix");

Puedes usar este cheque.