博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 获取当前操作系统信息
阅读量:6189 次
发布时间:2019-06-21

本文共 3352 字,大约阅读时间需要 11 分钟。

hot3.png

一、获取本机IP地址

//获取本机的IP地址	@SuppressWarnings("unused")	private static String getIpAddress() throws UnknownHostException {		InetAddress address = InetAddress.getLocalHost();		return address.getHostAddress();	}

二、获取本机网卡的MAC地址

public static String getMACAddress() {		Properties props=System.getProperties();		String address = "";		String os = props.getProperty("os.name");		if (os.startsWith("Windows")) {			try {				String command = "cmd.exe /c ipconfig /all";				Process p = Runtime.getRuntime().exec(command);				BufferedReader br = new BufferedReader(new InputStreamReader(				p.getInputStream()));				String line;				while ((line = br.readLine()) != null) {					//如果操作系统为中文,将下面的字符串改成"物理地址"					//如果操作系统为英文,将下面的字符串改成"Physical Address"					if (line.indexOf("物理地址") > 0) {						int index = line.indexOf(":");						index += 2;						address = line.substring(index);						break;					}				}				br.close();			} catch (IOException e) {}		}		return address.trim();	}

三、通过IP获取本机网卡的MAC地址

public static String getMACAddress(String ipAddress) {		String str = "";		String strMAC = "";		String macAddress = "";		try {			Process pp = Runtime.getRuntime().exec("nbtstat -a " + ipAddress);			InputStreamReader ir = new InputStreamReader(pp.getInputStream());			LineNumberReader input = new LineNumberReader(ir);			for(int i=1;i<100;i++){				str = input.readLine();//				System.out.println(str);				if(str != null){					if(str.indexOf("MAC 地址") > 1){						strMAC = str.substring(str.indexOf("MAC 地址") + 9,str.length());						break;					}				}			}		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}				if(strMAC.length() < 17){			return "Error!";		}				macAddress = strMAC.substring(0,2) + ":" + strMAC.substring(3,5) + ":" + 				strMAC.substring(6,8) + ":" + strMAC.substring(9,11) + ":" + 				strMAC.substring(12,14) + ":" + strMAC.substring(15,17);				return macAddress;	}

四、获取操作系统信息

import java.util.Properties;Properties props=System.getProperties(); //获得系统属性集String osUser=System.getProperty("user.name"); //获取操作系统账户String osName = props.getProperty("os.name"); //操作系统名称String osArch = props.getProperty("os.arch"); //操作系统构架String osVersion = props.getProperty("os.version"); //操作系统版本

五、获取其他信息

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

 

转载于:https://my.oschina.net/discussjava/blog/891057

你可能感兴趣的文章
Day 24 定时任务及练习题
查看>>
怎么使用ABBYY中手动编辑图像功能
查看>>
Android activity怎么从下面跳出来
查看>>
BlackBerry 签名申请及安装的步骤介绍
查看>>
Nginx安装与配置文件解析 【简单描述】
查看>>
在一台服务器上配置多个Tomcat的方法
查看>>
centos6.8 开启透传
查看>>
aaClass()封装通用函数,解classNames属性替换而不是追加问题
查看>>
缺陷管理工具分析
查看>>
Spring Cloud Config - 统一配置中心
查看>>
Server2003企业域控制器策略(一)
查看>>
mysql备份脚本
查看>>
我的友情链接
查看>>
防止洪水工具脚本
查看>>
Java循环读取文件夹下文件
查看>>
我的友情链接
查看>>
javascript中对offsetLeft等的解析
查看>>
windows(C语言版)——颜色拾取器
查看>>
Linux相关知识
查看>>
我的友情链接
查看>>