Информация об изменениях

Сообщение Re[6]: Причины популярности java от 23.05.2022 16:35

Изменено 23.05.2022 16:41 vsb

Re[6]: Причины популярности java
Здравствуйте, ·, Вы писали:

НС>>>Серьезно?

vsb>>Я про стандартную библиотеку. В которой, между прочим, есть нужные интерфейсы, но реализовать их никто не потрудился. Вот такой системный язык.
·>Оказывается потрудились. Уже доступно в 17-й версии.

Не работает:

        var path = Path.of("/Users/user/Downloads/ticket.pdf");

        var fileAttributeView = Files.getFileAttributeView(path, UserDefinedFileAttributeView.class);
        for (String attribute : fileAttributeView.list()) {
            int size = fileAttributeView.size(attribute);
            var byteBuffer = ByteBuffer.allocate(size);
            fileAttributeView.read(attribute, byteBuffer);
            System.out.println(attribute + "=" + new String(byteBuffer.array(), UTF_8));
        }


Ничего не выводит.

% xattr /Users/user/Downloads/ticket.pdf
com.apple.macl
com.apple.metadata:kMDItemDownloadedDate
com.apple.metadata:kMDItemWhereFroms
com.apple.quarantine
Re[6]: Причины популярности java
Господи, они фильтруют атрибуты и возвращают только те, которые начинаются на "user."

            List<String> attrNames = list(fd, MIN_LISTXATTR_BUF_SIZE);
            return attrNames.stream()
                    .filter(s -> s.startsWith(USER_NAMESPACE))
                    .map(s -> s.substring(USER_NAMESPACE.length()))
                    .toList();


Системный язык, блин.