java user.home, чтобы вернуться на местном языке - PullRequest
8 голосов
/ 30 июня 2010

Когда я запускаю System.getProperty("user.home") на турецкой Windows 7, я получаю «C: \ Users \ aaaa», хотя папка «Users» не существует на моем компьютере (у меня есть турецкий перевод «users»). Как я могу получить правильную информацию о user.home? Спасибо

Ответы [ 2 ]

10 голосов
/ 30 июня 2010

Какую версию Windows вы используете? В Vista и выше (2008, 2008R2, Windows7) папка называется Users в файловой системе, независимо от текущего языка. Но Windows Explorer отображает его на языке пользовательского интерфейса, «Benutzer» (немецкий) в моем случае. Вы можете проверить в окне команд, что настоящее имя этой папки Users.

3 голосов
/ 30 июня 2010

, хотя папка «Пользователи» не существует на моем компьютере (у меня есть турецкий перевод «пользователи»).

Это не так.У вас есть папка «Пользователи».Windows просто автоматически переводит его при отображении.Но вы должны использовать «Users» для путей файловой системы, что возвращает user.home.Локализованное имя имеет значение только для отображения его пользователю.Я не уверен, как получить его из кода Java.

Честно говоря, я думаю, что вся концепция отображения имен папок для пользователя, отличных от того, что фактически присутствует в файловой системе, является странным извращением.

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