Java获取当前操作系统的信息实例代码
程序员文章站
2023-12-21 14:15:28
主流有几种方法,一种是用下面的函数
publicstaticstringgetproperty(stringkey)
键...
主流有几种方法,一种是用下面的函数
publicstaticstringgetproperty(stringkey)
键 | 相关值的描述 |
---|---|
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获取当前操作系统的信息实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!