关于Java获取系统信息
一 .获取系统相关参数
java 通过System.getProperties()获取系统参数
Properties props=System.getProperties(); //系统属性
1 public class SystemInfo { 2 public static void main(String[] args) { 3 Properties sysProperty=System.getProperties(); //系统属性 4 Set<Object> keySet = sysProperty.keySet(); 5 for (Object object : keySet) { 6 String property = sysProperty.getProperty(object.toString()); 7 System.out.println(object.toString()+" : "+property); 8 } 9 } 10 }
汉语英语一一对应
1 public class SystemInfo { 2 public static void main(String[] args) { 3 System.out.println("Java的运行环境版本:"+sysProperty.getProperty("java.version")); 4 System.out.println("Java的运行环境供应商:"+sysProperty.getProperty("java.vendor")); 5 System.out.println("Java供应商的URL:"+sysProperty.getProperty("java.vendor.url")); 6 System.out.println("Java的安装路径:"+sysProperty.getProperty("java.home")); 7 System.out.println("Java的虚拟机规范版本:"+sysProperty.getProperty("java.vm.specification.version")); 8 System.out.println("Java的虚拟机规范供应商:"+sysProperty.getProperty("java.vm.specification.vendor")); 9 System.out.println("Java的虚拟机规范名称:"+sysProperty.getProperty("java.vm.specification.name")); 10 System.out.println("Java的虚拟机实现版本:"+sysProperty.getProperty("java.vm.version")); 11 System.out.println("Java的虚拟机实现供应商:"+sysProperty.getProperty("java.vm.vendor")); 12 System.out.println("Java的虚拟机实现名称:"+sysProperty.getProperty("java.vm.name")); 13 System.out.println("Java运行时环境规范版本:"+sysProperty.getProperty("java.specification.version")); 14 System.out.println("Java运行时环境规范供应商:"+sysProperty.getProperty("java.specification.vender")); 15 System.out.println("Java运行时环境规范名称:"+sysProperty.getProperty("java.specification.name")); 16 System.out.println("Java的类格式版本号:"+sysProperty.getProperty("java.class.version")); 17 System.out.println("Java的类路径:"+sysProperty.getProperty("java.class.path")); 18 System.out.println("加载库时搜索的路径列表:"+sysProperty.getProperty("java.library.path")); 19 System.out.println("默认的临时文件路径:"+sysProperty.getProperty("java.io.tmpdir")); 20 System.out.println("一个或多个扩展目录的路径:"+sysProperty.getProperty("java.ext.dirs")); 21 System.out.println("操作系统的名称:"+sysProperty.getProperty("os.name")); 22 System.out.println("操作系统的构架:"+sysProperty.getProperty("os.arch")); 23 System.out.println("操作系统的版本:"+sysProperty.getProperty("os.version")); 24 System.out.println("文件分隔符:"+sysProperty.getProperty("file.separator")); //在 unix 系统中是"/" 25 System.out.println("路径分隔符:"+sysProperty.getProperty("path.separator")); //在 unix 系统中是":" 26 System.out.println("行分隔符:"+sysProperty.getProperty("line.separator")); //在 unix 系统中是"/n" 27 System.out.println("用户的账户名称:"+sysProperty.getProperty("user.name")); 28 System.out.println("用户的主目录:"+sysProperty.getProperty("user.home")); 29 System.out.println("用户的当前工作目录:"+sysProperty.getProperty("user.dir")); 30 } 31 }
二、获取系统环境变量
Map<String, String> getenv = System.getenv();
Map<String, String> getenv = System.getenv();System.out.println(getenv);
输出:
{USERPROFILE=C:\Users\kongxiaohan, ProgramData=C:\ProgramData, PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log, JAVA_HOME=C:\Program Files\Java\jdk1.7.0_65, MAVEN_HOME=D:\apache-maven-3.0.5, windows_tracing_flags=3, TEMP=C:\Users\KONGXI~1\AppData\Local\Temp, SystemDrive=C:, ProgramFiles=C:\Program Files, Path=C:/Program Files/Java/jdk1.7.0_65/bin/../jre/bin/client; C:/Program Files/Java/jdk1.7.0_65/bin/../jre/bin; C:/Program Files/Java/jdk1.7.0_65/bin/../jre/lib/i386; C:\Program Files\NVIDIA Corporation\PhysX\Common; C:\Program Files\Java\jdk1.7.0_65\bin; C:\Windows\system32;C:\Windows; C:\Windows\System32\Wbem; C:\Windows\System32\WindowsPowerShell\v1.0\; C:\Program Files\EmEditor; D:\Program Files\MySQL\MySQL Server 5.5\bin; D:\Program Files\Subversion\bin; D:\Program Files\TortoiseSVN\bin; D:\ITCAST\java\day72_NoSql系列之mongoDB数据库\mongodb-win32-i386-2.4.3\bin; E:\insta;tclient_12_1; D:\apache-maven-3.0.5\bin; C:\Program Files\VanDyke Software\Clients\; G:\eclipse;, HOMEDRIVE=C:, PROCESSOR_REVISION=2502, USERDOMAIN=PC-ACER, ALLUSERSPROFILE=C:\ProgramData, VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\, PROCESSOR_IDENTIFIER=x86 Family 6 Model 37 Stepping 2, GenuineIntel, SESSIONNAME=Console, TMP=C:\Users\KONGXI~1\AppData\Local\Temp, CommonProgramFiles=C:\Program Files\Common Files, =::=::\, LOGONSERVER=\\PC-ACER, PROCESSOR_ARCHITECTURE=x86, FP_NO_HOST_CHECK=NO, OS=Windows_NT, HOMEPATH=\Users\kongxiaohan, PROCESSOR_LEVEL=6, APR_ICONV_PATH=D:\Program Files\Subversion\iconv, LOCALAPPDATA=C:\Users\kongxiaohan\AppData\Local, COMPUTERNAME=PC-ACER, windir=C:\Windows, SystemRoot=C:\Windows, NUMBER_OF_PROCESSORS=4, USERNAME=kongxiaohan, PUBLIC=C:\Users\Public, PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\, NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK, LANG=zh_CN, ComSpec=C:\Windows\system32\cmd.exe, APPDATA=C:\Users\kongxiaohan\AppData\Roaming}
三、获取IP、 计算机名、MAC、 硬盘卷序号
SystemInfo.java
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.net.InetAddress; 5 import java.net.NetworkInterface; 6 import java.net.SocketException; 7 import java.net.UnknownHostException; 8 import java.util.Properties; 9 10 /** 11 * 获取当前系统信息 12 */ 13 public class SystemInfo { 14 // 当前实例 15 private static SystemInfo currentSystem = null; 16 private InetAddress localHost = null; 17 18 private SystemInfo() { 19 try { 20 localHost = InetAddress.getLocalHost(); 21 } catch (UnknownHostException e) { 22 // TODO Auto-generated catch block 23 e.printStackTrace(); 24 } 25 } 26 27 /** 28 * 单例模式获取对象 29 * 30 * @return 31 */ 32 public static SystemInfo getInstance() { 33 if (currentSystem == null) 34 currentSystem = new SystemInfo(); 35 return currentSystem; 36 } 37 38 /** 39 * 本地IP 40 * 41 * @return IP地址 42 */ 43 public String getIP() { 44 String ip = localHost.getHostAddress(); 45 return ip; 46 } 47 48 /** 49 * 获取用户机器名称 50 * 51 * @return 52 */ 53 public String getHostName() { 54 return localHost.getHostName(); 55 } 56 57 /** 58 * 获取C盘卷 序列号 59 * 60 * @return 61 */ 62 public String getDiskNumber() { 63 String line = ""; 64 String HdSerial = "";// 记录硬盘序列号 65 66 try { 67 68 Process proces = Runtime.getRuntime().exec("cmd /c dir c:");// 获取命令行参数 69 BufferedReader buffreader = new BufferedReader( 70 new InputStreamReader(proces.getInputStream())); 71 72 while ((line = buffreader.readLine()) != null) { 73 74 if (line.indexOf("卷的序列号是 ") != -1) { // 读取参数并获取硬盘序列号 75 76 HdSerial = line.substring(line.indexOf("卷的序列号是 ") 77 + "卷的序列号是 ".length(), line.length()); 78 break; 79 } 80 } 81 82 } catch (IOException e) { 83 // TODO Auto-generated catch block 84 e.printStackTrace(); 85 } 86 87 return HdSerial; 88 } 89 90 /** 91 * 获取Mac地址 92 * 93 * @return Mac地址,例如:F0-4D-A2-39-24-A6 94 */ 95 public String getMac() { 96 NetworkInterface byInetAddress; 97 try { 98 byInetAddress = NetworkInterface.getByInetAddress(localHost); 99 byte[] hardwareAddress = byInetAddress.getHardwareAddress(); 100 return getMacFromBytes(hardwareAddress); 101 } catch (SocketException e) { 102 // TODO Auto-generated catch block 103 e.printStackTrace(); 104 } 105 return null; 106 } 107 108 /** 109 * 获取当前系统名称 110 * 111 * @return 当前系统名,例如: windows xp 112 */ 113 public String getSystemName() { 114 Properties sysProperty = System.getProperties(); 115 // 系统名称 116 String systemName = sysProperty.getProperty("os.name"); 117 return systemName; 118 } 119 120 private String getMacFromBytes(byte[] bytes) { 121 StringBuffer mac = new StringBuffer(); 122 byte currentByte; 123 boolean first = false; 124 for (byte b : bytes) { 125 if (first) { 126 mac.append("-"); 127 } 128 currentByte = (byte) ((b & 240) >> 4); 129 mac.append(Integer.toHexString(currentByte)); 130 currentByte = (byte) (b & 15); 131 mac.append(Integer.toHexString(currentByte)); 132 first = true; 133 } 134 return mac.toString().toUpperCase(); 135 } 136 }
SystemInfoTest.java
1 public class SystemInfoTest { 2 public static void main(String[] args) { 3 SystemInfo syso = SystemInfo.getInstance(); 4 System.out.println("IP地址:"+syso.getIP()); 5 System.out.println("主机名称:"+syso.getHostName()); 6 System.out.println("获取C盘卷 序列号"+syso.getDiskNumber()); 7 System.out.println("Mac地址"+syso.getMac()); 8 System.out.println("获取当前系统名称"+syso. getSystemName()); 9 } 10 }
输出结果:
IP地址:169.254.247.195 主机名称:pc-acer 获取C盘卷 序列号A0E7-407C Mac地址08-00-27-00-90-35 获取当前系统名称Windows 7
//============================================================================================
本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4289860.html,如需转载请自行联系原作者
关于Java获取系统信息相关推荐
- Java 获取系统信息
Java 获取系统信息可以用以下方法: public class testsysteminfo {public static void main(String[] args) {// TODO Aut ...
- java获取系统信息:java的信息、操作系统的信息、用户的信息、虚拟机的信息、系统设置的信息。
全栈工程师开发手册 (作者:栾鹏) java教程全解 java获取系统信息:java的信息.操作系统的信息.用户的信息.虚拟机的信息.系统设置的信息. package com.lp.app.windo ...
- java 获取系统信息及CPU的使用率
原文:http://kakaluyi.javaeye.com/blog/211492 最近做个项目,就是要取得cpu占有率等等的系统信息,一开始以为要用动态链接库了,但后来发现可以像下面这样做,不去调 ...
- java 获取本机信息,使用Java获取系统信息的常用代码整理总结
1.获取CPU和内存信息 ? 2.获取本机的IP地址: ? 3.获得网卡地址 ? 4.获得操作系统帐号 ? 5.获得操作系统版本 ? 6.一些常用的信息获得方式整理 java.version J ...
- java获取系统信息
转载:http://blog.csdn.net/kongqz/article/details/3987198 java.version Java 运行时环境版本 java.vendor Java 运行 ...
- java获取客户端系统信息_java 获得系统信息
Java代码 import java.util.Properties; Properties props=System.getProperties(); //获得系统属性集 String osName ...
- Java 获取操作系统名字、系统版本、cpu信息
Java 获取操作系统名字.系统版本.cpu信息 System.getProperty("os.name");//得到操作系统名字 System.getProperty(" ...
- Android获取系统信息
Android获取系统信息 android.os.build android.os.build类中的信息非常丰富,包含了大量系统编译时的配置.设置信息.比如以下列举的 Build.BURAD //主板 ...
- 使用Java获取操作系统和硬件信息
https://www.chendd.cn/information/viewInformation/experienceShare/332.a 距离上一次写博客已经过去2个半的月份了,也是工作忙,也是 ...
最新文章
- Hbuilder开发移动App(1)
- Git Gui的使用
- BZOJ 1711: [Usaco2007 Open]Dining吃饭
- Tensorflow学习教程集合
- mkswap,swapon, swapoff命令:创建交换分区
- Robolectric测试框架使用文档
- sqlite插入时间字段_sqlite 获取最后插入id
- 9203复习小结 消息框 新窗体
- ASP.NET MVC 3 Beta初体验之WebGrid
- Java的冒泡排序和选择排序的实现
- ASO优化含义篇:积分墙是什么?
- Java实现给PDF每页右上角添加图片水印
- 啊哈添柴挑战Java1826. 顺序输出(简单)
- 判断字符串中是否仅包含英文字母、数字和汉字
- 【数据分析案例】英雄联盟美服10000条排位数据分析
- ORBSLAM源码理论分析2—单目初始化
- 【论文笔记】标准正交基和投影在分布式控制中的应用
- 【小5聊】TortoiseGit代码管理之hint: Updates were rejected because a pushed branch tip is behind its remote
- 历史事件词条1000条
- pycharm如何打开回退上一步按钮
热门文章
- SEO优化之——html页面相关总结
- 进程间通信之-信号signal--linux内核剖析(九)
- 对docker隔离性的理解
- 初学Reporting Service2008
- bootstraptable 怎么在特定行添加数据_手把手教你做一个“渣”数据师,用Python代替老情人Excel...
- hdfs 多租户_Hadoop多租户架构配置
- python excel处理模块_Python(00):openpyxl模块处理Excel文件
- hibernate 一对多_为什么很多人不愿意用hibernate了?
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果...
- 3D程序运行在服务器上 VirtualGL