【问题标题】:What is the best way to get OS specific information in Java?在 Java 中获取操作系统特定信息的最佳方法是什么?
【发布时间】:2010-09-07 10:08:38
【问题描述】:
  1. 特别是在 Windows 上获取“..\Documents & Settings\All Users,基本上是任何需要前端根据您的软件运行的操作系统动态派生的路径。(现在我需要答案为此)
  2. 当前用户我的文档目录(好的,已回答) 并且基本上任何需要前端根据您的软件运行的操作系统动态派生的路径。

【问题讨论】:

    标签: java environment-variables


    【解决方案1】:

    我的文档可能最好通过访问来处理:

    System.getProperty("user.home");
    

    System.getProperty 上查找文档。

    【讨论】:

      【解决方案2】:

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

      System.getProperty("...");
      

      有关您可以获得的列表,请查看here

      我认为您无法以依赖于操作系统的方式获得所需的路径(所有用户路径)。毕竟 - 其他操作系统是否有等价物?你最好的选择是检查:

      System.getProperty("os.name");
      

      查看您是否正在运行 Windows,如果是,请使用“C:\Documents & Settings\All Users\”。

      但你最好还是经常使用

      System.getProperty("user.home");
      

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

      【讨论】:

        【解决方案3】:

        特别是在 Windows 上“..\Documents & Settings\All Users”,基本上是任何需要前端根据您的软件运行的操作系统动态派生的路径。(现在我需要这个问题的答案)

        All Users 目录下的文件夹是 windows 中的可变目录。详细信息可以在有关KNOWNFOLDERIDs(旧版本为CSIDL)的文档中找到。 因为这些值是系统相关的,Java 不提供访问这些值的方法。

        我认为其他操作系统上通常没有与此 Windows 特定文件夹等效的文件夹。此外,文件夹 Documents & Settings\All Users 仅存在于最新的 Windows 版本中,并且我认为对于例如 Windows 2000 或 XP 的处理方式不同。

        如果您确实需要这些信息,您应该阅读 microsoft 文档并实现本地库或 Runtime.exec 调用的某些脚本,以将信息提供给您的 java 应用程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-08-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-31
          • 1970-01-01
          • 2015-10-24
          相关资源
          最近更新 更多