我知道使用.NET语言如C#,一个可以这样做在Windows下的java中,如何找到重定向的Desktop文件夹?
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
找到桌面的重定向的位置。但是,在Java下,我想不出一个好办法来做到这一点。在不使用JNI的情况下从Java找到重定向用户桌面目录的最合适方法是什么?这里的特定目的是为了管理桌面快捷方式(如果用户需要的话),用于Java Web Start应用程序。
此应用程序需要写入“应用程序数据”树以及可选的桌面。我假定%APPDATA%
总是正确填充,即使在重定向文件夹时,也可以找到“应用程序数据”树。所以我开放的问题是如何可靠地找到桌面文件夹。
注意:我相信Java系统属性${user.home}
实际上(and erroneously)通过注册表项查找用户的桌面目录,然后尝试导航到一个目录以查找“主目录”。当没有目录被重定向时,这可以正常工作,否则可能返回或不返回有用的内容。
如何可靠这是什么?即使在Java 1.6中,这种方法也完全没有记录。看起来这是100%的Windows特有的行为,没关系,这段代码只能在Windows上调用,但这并不令人放心。 – Eddie 2009-02-20 19:41:52