2010-05-29 2 views
4

Однажды я нашел отличную небольшую библиотеку, которая использовала JNI, чтобы позволить java-приложениям в Windows получать локации различных «специальных» каталогов на окнах. Я не могу для жизни меня найти его снова ...Java api, чтобы получить специальные папки Microsoft Windows

В частности, мне нужно найти местоположение каталога «Все данные» (общий доступ) «Данные приложения».

Итак, у кого есть пуленепробиваемый способ в Java, чтобы найти папку «Данные приложения» «Все пользователи»?

Должно быть доказательство пули.

+0

Пуленепробиваемый способ сделать это Windows API SHGetKnownFolderPath http://msdn.microsoft.com/en-us/library/bb762188%28v=VS.85%29.aspx, но я не знаю простого способа вызовите это из Java. – Rup

+0

JNA поставляется с довольно полным набором стандартных привязок API, может быть, это то, что вы имеете в виду? https://github.com/twall/jna – millimoose

ответ

-1

Вы можете использовать следующее свойство в среде:
AllUsersProfile = C: \ Documents и Settings \ All Users

Edit: Это больше не работает, как в Windows Vista и более поздние версии.

+0

Работает ли это на всех версиях Windows, включая XP? – SvrGuy

+0

yup, работает на моей машине XP –

+0

Это не работает. В Windows Vista и новее он по умолчанию относится к папке 'C: \ ProgramData'. (cc @SvrGuy) – Bob

0

Вы можете исследовать переменные среды:

http://en.wikipedia.org/wiki/Environment_variable#DOS_and_Windows http://en.wikipedia.org/wiki/Environment_variable#System_path_variables

Метод System.getenv() предлагает список переменных окружения системы, и она включена в основной библиотеке. Не получается гораздо больше пуленепробиваемого, чем это.

Смежные вопросы