在Windows下的Java中,如何findredirect的桌面文件夹?

我知道使用C#等.NET语言,可以做类似的事情

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) 

find桌面redirect位置。 但是,在Java下,我想不出一个好办法来做到这一点。 从Java中findredirect的用户桌面目录而不使用JNI的最合适的方法是什么? 这里的具体目的是为了pipe理桌面快捷方式(如果用户需要的话),用于Java Web Start应用程序。

此应用程序需要写入“应用程序数据”树以及可选的桌面。 我假定%APPDATA%始终正确填充,即使在redirect文件夹时,也可以find“应用程序数据”树。 所以我开放的问题是如何可靠地find桌面文件夹。

注意:我相信Java系统属性${user.home}实际( 错误地 )通过registry键find用户的Desktop目录,然后尝试导航一个目录以查找“home”目录。 这在没有目录redirect的情况下工作正常,否则可能会或可能不会返回有用的东西。

Solutions Collecting From Web of "在Windows下的Java中,如何findredirect的桌面文件夹?"

 FileSystemView filesys = FileSystemView.getFileSystemView(); File[] roots = filesys.getRoots(); filesys.getHomeDirectory() 
 public class Sample { public static void main(String[] args) { String desktopPath =System.getProperty("user.home") + "\\"+"Desktop"; String s = "\"" + desktopPath.replace("\\","\\\\") + "\\\\" +"satis" + "\""; System.out.print(s); File f = new File(s); boolean mkdir = f.mkdir(); System.out.println(mkdir); } }