在Windows下的Java中,如何找到重定向的桌面文件夹?
我知道使用.NET语言(例如C#)可以做到
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
查找桌面的重定向位置。但是,在Java下,我无法想到一种实现此目的的好方法。不使用JNI从Java查找重定向的用户桌面目录的最合适方法是什么?这里的特定目的是为了管理Java
Web Start应用程序的桌面快捷方式(如果用户需要)。
该应用程序需要写入“应用程序数据”树以及可选的桌面。我假设%APPDATA%
即使在文件夹被重定向时也总是正确填充,以查找“应用程序数据”树。因此,我的公开问题是如何可靠地找到桌面文件夹。
注意:我相信Java系统属性${user.home}
实际上(并且错误地)通过注册表项找到了用户的Desktop目录,然后尝试向上导航一个目录以找到“主”目录。当没有目录被重定向时,这可以很好地工作,否则可能会或可能不会返回有用的东西。
回答:
FileSystemView filesys = FileSystemView.getFileSystemView();File[] roots = filesys.getRoots();
filesys.getHomeDirectory()
以上是 在Windows下的Java中,如何找到重定向的桌面文件夹? 的全部内容, 来源链接: utcz.com/qa/403776.html