如何从 Java 获取 Windows 虚拟文件夹位置?

How to get a Windows virtual folder location from Java?

我想从 Java 中检索 Windows 虚拟文件夹的位置。 JNA provides some support但是文档没有解释如何直接使用它。

查看 JNA source reveals the javadoc of Shell32Util.getKnownFolderPath(Guid.GUID)

Retrieves the full path of a known folder identified by the folder's KNOWNFOLDERID.

本地应用程序数据目录可以检索为

String localAppDataDir = Shell32Util.getKnownFolderPath(
    KnownFolders.FOLDERID_LocalAppData);
System.out.println(localAppDataDir);

输出类似于

C:\Users\JohnDoe\AppData\Local

其中 JohnDoe 是当前用户的名称。