【问题标题】:How to get OS level information using Java?如何使用 Java 获取操作系统级别的信息?
【发布时间】:2013-07-31 10:41:19
【问题描述】:

我正在寻找可以获取操作系统级别信息的 java 方法或包。

在java中有没有等价于Management Object Searcher(c#)的包?

【问题讨论】:

    标签: java operating-system


    【解决方案1】:

    一行简单的代码就可以做到这一点。

    System.getProperty("os.name");
    

    更具体地说,您正在查看哪些操作系统级别的信息?

    对于内存相关的东西,你可以有这样的东西。

    System.out.println("Free memory (bytes): " + 
        Runtime.getRuntime().freeMemory());
    
    
    long maxMemory = Runtime.getRuntime().maxMemory();
    
    System.out.println("Total memory (bytes): " + 
        Runtime.getRuntime().totalMemory());
    

    谢谢

    【讨论】:

    【解决方案2】:

    如果您知道获取所需信息所需的操作系统原生库,请使用JNI 调用它。

    【讨论】:

    • 感谢您的回复。即使我正在寻找有关 BIOS、视频和音频编解码器的信息,以及与网络相关的信息。有可能吗?
    • @VivekAnand 只需搜索 os 库以获取 BIOS、视频、音频。一旦你知道哪个库会提供信息,通过 JNI 调用它
    【解决方案3】:

    通过

    获取OperatingSystemMXBean
    java.lang.management.ManagementFactory
    OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
    

    获取操作系统版本或其他可用信息。

    【讨论】:

    • 谢谢。它是否适用于获取 BIOS、显示器、视频和音频编解码器、网络、主板、内存信息??
    • 我不这么认为,MX bean 没有这样的技术细节。如果您可以找到打印该信息的实用程序,那么您可以使用 Runtime.exec 从 Java 运行,收集并解析输出
    【解决方案4】:
    Use this method in your code know the OS 
    
    os.name
    
    os.version
    
    os.arch
    

    【讨论】:

      【解决方案5】:

      您可以使用以下代码 sn-p 获取操作系统及其版本:

            String OS = System.getProperty("os.name");             
            System.out.println("Your OS is : " + OS);
      
            String OSVersion = System.getProperty("sun.arch.data.model");             
            System.out.println("Your OS version is : " + OSVersion + " bit");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-18
        • 1970-01-01
        • 2015-11-16
        • 2016-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多