java 怎么获取硬件信息 linux 和 windows 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用System类的方法可以查询系统信息,File类提供了查询磁盘空间信息。你说的硬件信息是指什么? 要获取硬件信息,貌似要用jni别的很难获取。 内存可以知道容量和使用量网卡 http://topic.csdn.net/t/20021112/09/1168460.html runtime类执行ipconfig 获取内存信息:com.sun.management.OperatingSystemMXBean operatingSystemMXBean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); operatingSystemMXBean.getTotalPhysicalMemorySize();获取 CPU 核数(并非 CPU 个数):Runtime.getRuntime().availableProcessors() com.sun.management.OperatingSystemMXBean 不建议使用。所以你要慎用啊。 Runtime.exec();调系统命令,比如AIX里面prtconf,lsdev...JVM是跨平台的,直接用java来获取平台信息是不现实的,JDK不关心底层硬件信息 网卡可以用NetworkInterface.getHardwareAddress() java1.6提供的。 有个开源项目叫hyperic-sigar,可以获取一些信息 try { InetAddress address = InetAddress.getLocalHost(); NetworkInterface netCard = NetworkInterface .getByInetAddress(address); byte[] addr = netCard.getHardwareAddress(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < addr.length; i++) { if (addr[i] != 0) { sb.append("-"); } String string = Integer.toHexString(addr[i] & 0xff); sb.append(string.length() == 1 ? "0" + string : string); } System.out.println(sb.toString().toUpperCase()); } catch (SocketException e) { e.printStackTrace(); } catch (UnknownHostException e) { e.printStackTrace(); } 监听器的原理是什么 对于java中静态函数和静态变量优先运行 是规定的 还是有说法的? int 转换成 byte ,是不是除以256? J2SE + SQL Server 开发的桌面程序能打包成安装程序 用java怎么样操作word方档和excle表?(在此先谢啦) 求助,java编程题的阅卷算法 ftp上传文件??? 没入门的问题 如何复制一个ZIP文件到一个新的路径下啊?在线等 IO(TCP程序设计)编程的一些问题请教 项目中数据库统计数问题 关于红黑树
网卡 http://topic.csdn.net/t/20021112/09/1168460.html runtime类执行ipconfig
operatingSystemMXBean.getTotalPhysicalMemorySize();
获取 CPU 核数(并非 CPU 个数):
Runtime.getRuntime().availableProcessors()
InetAddress address = InetAddress.getLocalHost();
NetworkInterface netCard = NetworkInterface
.getByInetAddress(address);
byte[] addr = netCard.getHardwareAddress(); StringBuffer sb = new StringBuffer();
for (int i = 0; i < addr.length; i++) {
if (addr[i] != 0) {
sb.append("-");
} String string = Integer.toHexString(addr[i] & 0xff);
sb.append(string.length() == 1 ? "0" + string : string);
} System.out.println(sb.toString().toUpperCase());
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
}