Каков наилучший способ получить информацию об ОС на Java? - PullRequest
3 голосов
/ 01 сентября 2008
  1. В частности, для Windows ".. \ Documents & Settings \ All Users", в основном, для любого пути, который требует динамического определения внешнего интерфейса на основе ОС, на которой работает ваше программное обеспечение. (Теперь мне нужен ответ на это)
  2. текущий каталог пользователей Мои документы (хорошо, на этот вопрос получен ответ) и в основном любой путь, который требует динамического извлечения внешнего интерфейса на основе ОС, на которой работает ваше программное обеспечение.

Ответы [ 3 ]

8 голосов
/ 01 сентября 2008

Мои документы, вероятно, лучше всего обработать, набрав:

System.getProperty("user.home");

Просмотрите документы на System.getProperty .

3 голосов
/ 01 сентября 2008

Любую информацию о среде пользователя, которую вы можете получить, можно получить по

System.getProperty("...");

Для получения списка того, что вы можете получить, посмотрите здесь .

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

System.getProperty("os.name");

чтобы узнать, используете ли вы Windows, а затем, если это так, используйте "C: \ Documents & Settings \ All Users \".

Но вам будет лучше, если вы будете постоянно использовать

System.getProperty("user.home");

(как уже упоминалось другими людьми) по всему приложению. Или, в качестве альтернативы, разрешите пользователю указать каталог для хранения того, что вы хотите сохранить.

0 голосов
/ 04 сентября 2012

В частности, для Windows ".. \ Documents & Settings \ All Users", в основном, для любого пути, который требует динамического определения внешнего интерфейса на основе ОС, на которой работает ваше программное обеспечение. (Теперь мне нужен ответ на этот вопрос)

Папки под каталогом All Users являются переменными каталогами в Windows. Подробности можно найти в документе о KNOWNFOLDERIDs ( CSIDL в более старых версиях). Поскольку эти значения зависят от системы, Java не предоставляет способ доступа к значениям.

Я думаю, что в других операционных системах эта папка для Windows не имеет аналогов. Кроме того, папка Documents & Settings \ All Users присутствует только в последних версиях Windows, и, например, Windows 2000 или XP обрабатываются по-разному.

Если вы действительно нуждаетесь в этой информации, вам следует прочитать документы Microsoft и включить собственную библиотеку или какой-либо сценарий, вызванный Runtime.exec для предоставления информации вашему Java-приложению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...