Raú*_*vas 25 java operating-system
我正在开发一个软件应用程序来检查你安装了哪种软件,但为了做到这一点,我必须知道操作系统是32位还是64位操作系统.我试过System.getProperty("os.arch"); 但后来我读到这个命令只向我们展示了JDK/JRE的位,而不是操作系统本身.如果你能告诉我如何知道操作系统的使用(Windows 7,Mac OS,Ubuntu等等),那将简直太棒了C:
Chr*_*isH 46
System.getProperty("os.arch");
Run Code Online (Sandbox Code Playgroud)
应该可以在所有平台上使用,有关详细信息,请参阅Java 系统属性教程.
但是如果它是32位JVM,64位Windows平台将存在于JVM中.实际上64位Windows将涉及任何关于环境的32位进程,以帮助旧的32位程序在64位操作系统上正常工作.有关更多信息,请阅读有关WOW64的MSDN文章.
作为WOW64的结果,32位JVM调用System.getProperty("os.arch")将返回"x86".如果要在Windows上获取底层操作系统的真实体系结构,请使用以下逻辑:
String arch = System.getenv("PROCESSOR_ARCHITECTURE");
String wow64Arch = System.getenv("PROCESSOR_ARCHITEW6432");
String realArch = arch != null && arch.endsWith("64")
|| wow64Arch != null && wow64Arch.endsWith("64")
? "64" : "32";
Run Code Online (Sandbox Code Playgroud)
也可以看看:
为什么%processor_architecture%总是返回x86而不是AMD64
| 归档时间: |
|
| 查看次数: |
9388 次 |
| 最近记录: |