Подтвердить что ты не робот

Java 7 - Как проверить, совместима ли ОС POSIX

Я пишу кросс-платформенное приложение, которое создает временные файлы и копирует их в другое место, где их нужно читать каждому. (По умолчанию только владелец имеет доступ для чтения к временным файлам.) Я попытался использовать права доступа к POSIX следующим образом:

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

Но это приводит к исключению на платформах, отличных от POSIX:

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

Я хочу добавить простую проверку, чтобы я мог использовать права доступа к файлам там, где это необходимо, без нарушения совместимости с другими платформами.

4b9b3361

Ответ 1

Копая глубже в коде JDK, это проверка, используемая для POSIX

от java.nio.file.TempFileHelper

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

Вы можете использовать эту проверку.