获取Microsoft Windows特殊文件夹的Java api

获取Microsoft Windows特殊文件夹的Java api,java,windows,special-folders,Java,Windows,Special Folders,我曾经发现一个漂亮的小库,它使用JNI允许Windows上的java应用程序获取Windows上各种“特殊”目录的位置。我这辈子再也找不到它了 特别是,我需要获取“所有用户”(共享)“应用程序数据”目录的位置 那么,有没有人在Java中找到“所有用户”“应用程序数据”文件夹的防弹方法 它需要防弹 您可以在环境中使用以下属性: ALLUSERSPROFILE=C:\Documents and Settings\All Users 编辑:这在Windows Vista及更新版本中不再有效。您可能需要

我曾经发现一个漂亮的小库,它使用JNI允许Windows上的java应用程序获取Windows上各种“特殊”目录的位置。我这辈子再也找不到它了

特别是,我需要获取“所有用户”(共享)“应用程序数据”目录的位置

那么,有没有人在Java中找到“所有用户”“应用程序数据”文件夹的防弹方法


它需要防弹

您可以在环境中使用以下属性:
ALLUSERSPROFILE=C:\Documents and Settings\All Users


编辑:这在Windows Vista及更新版本中不再有效。

您可能需要研究环境变量:


该方法提供了系统环境变量的列表,并包含在核心库中。没有比这更防弹的了。

实现这一点的防弹方法Windows API SHGetKnownFolderPath但我不知道从Java调用它的简单方法。JNA提供了一套相当完整的标准API绑定,也许这就是你的意思?这个坏了。在Windows Vista及更新版本上,默认情况下,它指的是
C:\ProgramData
文件夹。(cc@SvrGuy)这正是OP试图避免的一种不适合未来的解决方案。