Когда я работаю System.getProperty("user.home")
на турецких окнах 7, я получаю "C:\Users\aaaa" даже при том, что папка "Users" не существует в моем компьютере (у меня есть турецкий перевод "пользователей"). Как я могу получить корректную user.home информацию?Спасибо
, даже если в папке «Пользователи» нет существуют на моем компьютере (у меня есть турецкий перевод «пользователи»).
Это неправда. У вас есть папка «Пользователи». Windows просто автоматически переводит его при отображении. Но вы должны использовать «Пользователи» для путей файловой системы, что возвращает user.home
. Локализованное имя актуально только для отображения его пользователю. Я не уверен, как получить это из кода Java.
Честно говоря, я считаю, что вся концепция отображения пользователю других имен папок, отличных от того, что на самом деле присутствует в файловой системе, является причудливым извращением.
Какая у вас версия Windows? В Vista и более поздних версиях (2008, 2008R2, Windows7) папка в файловой системе называется Пользователи
, независимо от текущего языка. Но Windows Explorer отображает его на языке пользовательского интерфейса, в моем случае «Benutzer» (немецкий). Вы можете проверить в командном окне, что настоящее имя этой папки - Пользователи
.