【发布时间】:2017-03-08 19:19:21
【问题描述】:
一开始我想提一下,这不是this topic的重复。
我知道我可以通过System.getProperty("os.name");以编程方式检查我从 Java 运行的操作系统
我的问题是:Java 如何确定我的操作系统?换句话说,当Properties 被加载/设置(特别是os.name)时,运行什么命令来执行此操作?
更新
也不与Where (which properties file) does System.getProperty(“key”) reads from? 重复。我不要求存储财产的地方。我要求用于确定操作系统名称的命令。
正如@Phylogenesis 评论的那样 - 在 Windows 上,它在本地 c 实现中使用 GetVersionEx。
Unix/Linux 呢?
【问题讨论】:
-
很可能是特定于操作系统的命令,由特定于操作系统的 JAVA 实现发出?
-
@TT。大概。但是我可以在某处检查使用了什么命令吗?
-
特别是,请参阅this question 中的答案,了解有关如何生成
System.getProperty("os.name")的更多详细信息。 -
@ArcticLord 我不这么认为,我要求某种特定于操作系统的方法,而不是实现细节
-
这完全取决于运行 JAVA 的操作系统。每个操作系统都有不同的功能来获取这些信息。 Java 使用 JNI 调用特定于操作系统的函数。所以每个操作系统上的“命令”都是不同的。
标签: java