В обновлении Java 25 мы удаляем часть кода, который использует отражение способом, который вскоре будет запрещен. Вместо этого мы рассматриваем использование JNA. Мне нужен доступ к дескриптору файла (типа unix), и я решил открыть("some_path",O_CREAT|O_RDWR) , сделать все, что мне нужно, с дескриптором файла, а затем вместо этого открыть тот же путь с помощью File.
Проблема в том, что я получаю ошибку 2 (нет такого файла или каталога).
Если я сначала создам файл с помощью
Код: Выделить всё
var f = new File("some_path");
f.createNewFile();
int fd = JNALib.open("some_path", O_CREAT|O_RDWR);
Тогда это прекрасно работает. Я не понимаю, почему первый вариант не работает.
Mac OS X, ARM Mac. ЮНА 5.18.1
Подробнее здесь:
https://stackoverflow.com/questions/798 ... hrough-jna