我知道使用 .NET 语言,例如 C#,可以做类似的事情
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
找到桌面的重定向位置。但是,在 Java 下,我想不出一个好的方法来做到这一点。在不使用 JNI 的情况下,从 Java 中查找重定向的用户桌面目录的最合适方法是什么?此处的特定目的是为了管理 Java Web Start 应用程序的桌面快捷方式(如果用户需要)。
此应用程序需要写入“应用程序数据”树以及可选地写入桌面。我假设%APPDATA%
始终正确填充,即使文件夹被重定向,以查找“应用程序数据”树。所以我的悬而未决的问题是如何可靠地找到桌面文件夹。
注意:我相信 Java 系统属性${user.home}
实际上(并且错误地)通过注册表项定位用户的桌面目录,然后尝试向上导航一个目录以找到“主”目录。当没有目录被重定向时,这可以正常工作,否则可能会或可能不会返回有用的东西。