Как получить имя пользователя из файла метаданных с разрешениями Java? - PullRequest
1 голос
/ 01 марта 2011

Как я могу по всему данному файлу, используя java, получить имя пользователя и его разрешения для этого файла?
Windows и Linux.

1 Ответ

2 голосов
/ 12 марта 2011

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

В противном случае вы можете использовать два разных подхода.Оба включают взаимодействие с собственными библиотеками.

Первое - использовать собственный интерфейс Java (JNI) для написания кода C, который взаимодействует с соответствующими вызовами Windows и Linux.Затем вы скомпилируете код C (это необходимо сделать для каждой операционной системы и, возможно, отдельно для 32-битных и 64-битных архитектур).Затем полученный скомпилированный код необходимо добавить в путь к библиотеке Java-программы, чтобы его можно было загрузить.Эта опция очень эффективна, но также довольно сложна.

Второй вариант - использовать Java Native Access (JNA).Это позволяет писать методы и классы Java, которые соответствуют собственным функциям и структурам.JNA делает много магии, чтобы упорядочить нативные библиотеки и ваш Java-код.Нет необходимости писать или компилировать любой C-код.Этот подход менее производительный, чем JNI, но во многих ситуациях он достаточно производительный.Я реализовал этот подход для Linux и OS X для 64-битных систем, обе из которых основаны на POSIX, поэтому они очень похожи.Я не знаю, как работают метаданные файлов Windows, но я вполне уверен, что они не должны быть намного сложнее.

...