在Java中获取特定操作系统信息的最佳方法是什么?

4
  1. 在Windows上获取“..\Documents & Settings\All Users”路径或者任何需要根据你的软件运行的操作系统动态派生前端的路径。 (现在我需要这个答案)
  2. 当前用户的“我的文档”目录,以及基本上任何需要根据你的软件运行的操作系统动态派生前端的路径。 (好的,这个已经回答了)
3个回答

9

我的文档最好通过访问以下内容进行处理:

System.getProperty("user.home");

Look up the docs on System.getProperty.


3

您可以从中获取有关用户环境的任何信息

System.getProperty("...");

想要了解您可以获取的内容,请查看此处

我认为您无法以与操作系统相关的方式获取所需的路径(所有用户路径)。毕竟,其他操作系统是否有相应的路径?您最好的选择可能是检查:

System.getProperty("os.name");

检查您是否正在运行Windows,如果是,则使用"C:\ Documents& Settings \ All Users \"。

但最好始终使用

System.getProperty("user.home");

在整个应用程序中(正如其他人所提到的),或者,允许用户指定要存储任何你想要存储的内容的目录。

0
特别是在Windows上,".. \ Documents& Settings \ All Users" 这样的任何路径都需要根据您的软件运行的操作系统动态派生前端。 (现在我需要这个答案)
所有用户目录下面的文件夹在Windows中是可变目录。有关KNOWNFOLDERIDs(旧版本中的CSIDL)的详细信息可以在文档中找到。由于这些值是系统相关的,因此Java没有提供访问这些值的方法。
我认为,在其他操作系统上一般没有与此Windows特定文件夹相当的等效物。此外,“Documents&Settings \ All Users”文件夹仅存在于最新的Windows版本中,并且对于例如Windows 2000或XP等情况会有不同的处理方式。
如果您真的需要此信息,您应该阅读微软文档并实施本地库或由Runtime.exec调用的某些脚本以向您的Java应用程序提供信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接