Java如何确定操作系统名称?

4
起初,我想提到这不是此主题的重复
我知道可以通过System.getProperty("os.name")在Java中编程地检查我正在运行的操作系统。
我的问题是:Java如何确定我的操作系统?换句话说,在何时加载/设置属性(特别是os.name)以及运行什么命令来执行此操作?
更新:
这也不是System.getProperty(“key”)读取的位置(哪个属性文件)?。我不是在问属性存储的位置,而是询问用于确定操作系统名称的命令。
正如@Phylogenesis所评论的,在Windows上,它使用本地c实现中的GetVersionEx。
那Unix / Linux呢?

很可能是一个特定于操作系统的命令,由JAVA的特定于操作系统的实现发出的? - TT.
@TT。很可能可以。但是我能在哪里检查使用的命令呢? - countryroadscat
1
特别是,请参见此问题中的答案,以获取有关如何生成System.getProperty("os.name")的更多详细信息。 - Phylogenesis
@ArcticLord 我不这么认为,我正在寻求一些特定于操作系统的方法,而不是实现细节。 - countryroadscat
这完全取决于JAVA运行的操作系统。每个操作系统都有不同的函数来获取此信息。Java使用JNI调用该操作系统特定的函数。因此,“命令”在每个操作系统上都不同。 - TT.
1个回答

4

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