`

Java获取当前操作系统的信息

 
阅读更多

主流有几种方法,一种是用下面的函数
public static String getProperty(String key)

键 相关值的描述
java.version java.version Java 运行时环境版本
java.vendor java.vendor Java 运行时环境供应商
java.vendor.url java.vendor.url Java 供应商的 URL
java.home java.home Java 安装目录
java.vm.specification.version java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name java.vm.specification.name Java 虚拟机规范名称
java.vm.version java.vm.version Java 虚拟机实现版本
java.vm.vendor java.vm.vendor Java 虚拟机实现供应商
java.vm.name java.vm.name Java 虚拟机实现名称
java.specification.version java.specification.version Java 运行时环境规范版本
java.specification.vendor java.specification.vendor Java 运行时环境规范供应商
java.specification.name java.specification.name Java 运行时环境规范名称
java.class.version java.class.version Java 类格式版本号
java.class.path java.class.path Java 类路径
java.library.path java.library.path 加载库时搜索的路径列表
java.io.tmpdir java.io.tmpdir 默认的临时文件路径
java.compiler java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs java.ext.dirs 一个或多个扩展目录的路径
os.name os.name 操作系统的名称
os.arch os.arch 操作系统的架构
os.version os.version 操作系统的版本
file.separator file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name user.name 用户的账户名称
user.home user.home 用户的主目录
user.dir user.dir 用户的当前工作目录

一种是用命令行来获取

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;

public class test {
    //通过截取cmd流方式得到计算机的配置信息(不好)
    public static List<String> getIpAddress() {
        Process p = null;
        List<String> address = new ArrayList<String>();
        try {
            p = new ProcessBuilder("ipconfig", "/all").start();
        } catch (Exception e) {
            return address;
        }
        StringBuffer sb = new StringBuffer();
        //读取进程输出值
        InputStream inputStream = p.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
        String s = "";
        try {
            while ((s = br.readLine()) != null) {
                sb.append(s + "\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                inputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        System.out.println(sb);
        return address;
    }

    public static void getIpconfig() {
        Map<String, String> map = System.getenv();
        System.out.println(map.get("USERNAME"));//获取用户名
        System.out.println(map.get("COMPUTERNAME"));//获取计算机名
        System.out.println(map.get("USERDOMAIN"));//获取计算机域名
    }

    //得到计算机的ip地址和mac地址
    public static void getConfig() {
        try {
            InetAddress address = InetAddress.getLocalHost();
            NetworkInterface ni = NetworkInterface.getByInetAddress(address);
            //ni.getInetAddresses().nextElement().getAddress();
            byte[] mac = ni.getHardwareAddress();
            String sIP = address.getHostAddress();
            String sMAC = "";
            Formatter formatter = new Formatter();
            for (int i = 0; i < mac.length; i++) {
                sMAC = formatter.format(Locale.getDefault(), "%02X%s", mac[i],
                        (i < mac.length - 1) ? "-" : "").toString();
            }
            System.out.println("IP:" + sIP);
            System.out.println("MAC:" + sMAC);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //得到计算机的ip,名称,操作系统名称,操作系统版本
    public static void Config() {
        try {
            InetAddress addr = InetAddress.getLocalHost();
            String ip = addr.getHostAddress().toString(); //获取本机ip
            String hostName = addr.getHostName().toString(); //获取本机计算机名称
            System.out.println("本机IP:" + ip + "\n本机名称:" + hostName);
            Properties props = System.getProperties();
            System.out.println("操作系统的名称:" + props.getProperty("os.name"));
            System.out.println("操作系统的版本:" + props.getProperty("os.version"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //其它的一些东西,会有用到的时候的
    public static void all() {
        Properties props = System.getProperties();
        System.out.println("Java的运行环境版本:" + props.getProperty("java.version"));
        System.out.println("Java的运行环境供应商:" + props.getProperty("java.vendor"));
        System.out.println("Java供应商的URL:" + props.getProperty("java.vendor.url"));
        System.out.println("Java的安装路径:" + props.getProperty("java.home"));
        System.out.println("Java的虚拟机规范版本:" + props.getProperty("java.vm.specification.version"));
        System.out.println("Java的虚拟机规范供应商:" + props.getProperty("java.vm.specification.vendor"));
        System.out.println("Java的虚拟机规范名称:" + props.getProperty("java.vm.specification.name"));
        System.out.println("Java的虚拟机实现版本:" + props.getProperty("java.vm.version"));
        System.out.println("Java的虚拟机实现供应商:" + props.getProperty("java.vm.vendor"));
        System.out.println("Java的虚拟机实现名称:" + props.getProperty("java.vm.name"));
        System.out.println("Java运行时环境规范版本:" + props.getProperty("java.specification.version"));
        System.out.println("Java运行时环境规范供应商:" + props.getProperty("java.specification.vender"));
        System.out.println("Java运行时环境规范名称:" + props.getProperty("java.specification.name"));
        System.out.println("Java的类格式版本号:" + props.getProperty("java.class.version"));
        System.out.println("Java的类路径:" + props.getProperty("java.class.path"));
        System.out.println("加载库时搜索的路径列表:" + props.getProperty("java.library.path"));
        System.out.println("默认的临时文件路径:" + props.getProperty("java.io.tmpdir"));
        System.out.println("一个或多个扩展目录的路径:" + props.getProperty("java.ext.dirs"));
        System.out.println("操作系统的名称:" + props.getProperty("os.name"));
        System.out.println("操作系统的构架:" + props.getProperty("os.arch"));
        System.out.println("操作系统的版本:" + props.getProperty("os.version"));
        System.out.println("文件分隔符:" + props.getProperty("file.separator"));
        //在 unix 系统中是"/"
        System.out.println("路径分隔符:" + props.getProperty("path.separator"));
        //在 unix 系统中是":"
        System.out.println("行分隔符:" + props.getProperty("line.separator"));
        //在 unix 系统中是"/n"
        System.out.println("用户的账户名称:" + props.getProperty("user.name"));
        System.out.println("用户的主目录:" + props.getProperty("user.home"));
        System.out.println("用户的当前工作目录:" + props.getProperty("user.dir"));
    }

    public static void main(String[] args) {
        getConfig();
        Config();
        all();
    }
}

 

分享到:
评论

相关推荐

    java获取操作系统版本代码

    这个代码片段会输出当前运行环境的操作系统信息,包括名称、版本和处理器架构,以及通过`OperatingSystemMXBean`获取的详细版本信息。在实际开发中,你可以根据这些信息调整程序的行为,以适应不同操作系统的需求。 ...

    关于java获取操作系统信息

    在Java编程语言中,获取操作系统的信息对于环境配置、程序...开发人员可以根据需要选择合适的系统属性来获取所需的操作系统信息和其他关键数据。此外,理解这些属性的具体含义也有助于更高效地利用Java语言的各种特性。

    java获取当前系统信息

    ### 操作系统信息 操作系统相关的属性提供了对运行Java程序的主机操作系统的深入了解: - **操作系统名称**:`os.name`,如“Linux”、“Windows 10”等。 - **操作系统架构**:`os.arch`,显示了操作系统的架构...

    Java获取操作系统信息

    在Java编程语言中,获取操作系统的信息是一项常见的任务,这有助于开发者了解程序运行的环境,进行兼容性检查,或者根据不同的操作...通过实践和学习,你可以更好地掌握Java获取操作系统信息的技巧,提升你的开发能力。

    JAVA如何获取当前系统的request url.txt

    该代码是介绍JAVA获取当前系统的url,与大家分享,请大家下载!

    JAVA获取操作系统信息

    5. **内存信息**:虽然不是直接获取操作系统信息,但`java.lang.Runtime`和`java.lang.management.MemoryMXBean`提供了关于Java虚拟机内存的使用情况,包括总内存、已用内存、最大内存等,这些信息有时也与操作系统...

    java 实现对当前操作系统的判断

    总的来说,`java 实现对当前操作系统的判断`这个主题涉及Java语言的基本特性,以及如何利用这些特性来获取和处理操作系统信息。在实际开发中,这样的功能常用于跨平台的应用程序,以适应不同操作系统下的特定需求。...

    java获取各种操作系统的mac地址

    获取当前操作系统名称. return 操作系统名称 例如:windows,Linux,Unix等.

    JAVA中获取当前系统时间.pdf

    JAVA中获取当前系统时间是 Java programming 语言中的一项基本操作。获取当前系统时间可以使用多种方法,这里我们将介绍其中的两种方法。 方法一:使用 Date 类 在 Java 中,Date 类是用于表示日期和时间的类。...

    java读取服务器硬件信息(windowx+linux+Mac OS)

    例如,使用`System.getProperty("os.name")`获取当前操作系统的名称,然后根据名称创建并实例化对应的硬件信息提供者。 总结起来,Java通过多种方式可以读取Windows、Linux和Mac OS的硬件信息,包括JNI、shell命令...

    Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法.pdf

    Java 获取系统信息是指通过 Java 语言获取当前系统的各种信息,包括 CPU、内存、硬盘、进程等。下面将介绍两种获取系统信息的方法。 方法一:使用 Java 的 Runtime 类和 OperatingSystemMXBean Java 的 Runtime 类...

    Java获取系统CPU、内存、硬盘等系统信息

    本文将详细探讨如何利用Java获取Windows和Linux系统的CPU、内存以及硬盘信息。 首先,让我们聚焦于CPU信息的获取。在Java中,`java.lang.management`包提供了ManagementFactory类,它包含了获取系统管理信息的方法...

    java获取系统信息的类文件

    在Java编程语言中,获取系统信息是常见的需求,这包括但不限于系统内存的使用...以上就是使用Java获取系统信息的主要类和方法的概述。在实际开发中,需要根据具体的需求和目标平台选择合适的方式来获取和处理这些信息。

    java获取系统参数规格

    通过Java内置的方法,我们可以轻松地获取一系列关于Java运行时环境(JRE)及操作系统的信息。下面将详细介绍如何使用Java代码来获取这些重要的系统参数规格,并解释每项参数的具体含义。 ### Java获取系统参数规格 ...

    java 获取usb外接设备信息整理。

    在Java编程环境中,获取USB外接设备的信息是一项重要的任务,特别是在物联网(IoT)和设备控制应用中。本文将深入探讨如何使用Java来检测、识别并获取USB设备的相关信息。 首先,我们需要理解Java中处理USB设备的基本...

    Java获取系统信息(cpu_内存_硬盘_进程等)的相关方法

    `com.sun.management.OperatingSystemMXBean` 是 Java 自带的一个 API,提供了一些方法,可以用来获取系统的操作系统信息、CPU 信息、内存信息等。 例如,以下代码使用 `OperatingSystemMXBean` 获取系统的物理内存...

    Java获取当前操作系统的信息实例代码

    Java获取当前操作系统的信息是开发过程中常见的一种需求,这有助于我们编写跨平台的程序,了解运行环境的特性。在Java中,我们可以使用内置的`java.lang.System`类的`getProperty()`方法来获取这些信息。以下是对...

    java获取各进程的信息

    Sigar是一个跨平台的系统监视接口,它提供了统一的API来获取操作系统相关的各种信息,包括但不限于CPU负载、内存使用、进程管理等。Sigar支持Windows、Linux等多种操作系统,是进行系统级监控的理想选择之一。 ####...

    JSP获取客户端IP地址浏览器版本操作系统.pdf

    获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...

    java获取系统参数

    这些属性包括但不限于Java版本、JVM实现、操作系统信息、用户目录等。 例如,`java.version`属性表示Java运行时环境的版本,而`java.vendor`则给出了提供这个环境的公司。`java.home`则是Java安装的根目录。`java....

Global site tag (gtag.js) - Google Analytics