Я знаю, используя .NET языки, такие как C #, можно сделать что-то вроде
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
, чтобы найти перенаправленное местоположение рабочего стола. Однако под Java я не могу придумать хороший способ сделать это. Каков наиболее подходящий способ найти перенаправленный пользовательский каталог Desktop из Java без использования JNI? Конкретная цель здесь - в целях управления ярлыком на рабочем столе, если пользователь этого хочет, для приложения Java Web Start.
Это приложение должно записывать данные в дерево «Данные приложения», а также дополнительно на рабочий стол. Я делаю предположение, что %APPDATA%
всегда правильно заполняется, даже когда папки перенаправляются, для нахождения дерева «Application Data». Поэтому мой открытый вопрос - как надежно найти папку Desktop.
ПРИМЕЧАНИЕ. Я считаю, что системное свойство Java ${user.home}
на самом деле ( и ошибочно ) находит каталог рабочего стола пользователя через ключи реестра, а затем пытается перейти вверх по одному каталогу, чтобы найти «домашний» каталог. Это прекрасно работает, если ни одна директория не перенаправлена, и в противном случае может или не может вернуть что-то полезное.