前言
欢迎阅读本系列博客,本篇文章我们将探讨如何在Java中获取本机的硬件信息。这在很多应用场景下都有用,比如系统监控、硬件故障自动报告等
一、maven配置
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>3.1.0</version>
</dependency>
二、应用
1.获取CPU信息
SystemInfo si = new SystemInfo();
HardwareAbstractionLayer hal = si.getHardware();
CentralProcessor processor = hal.getProcessor();
System.out.println(processor);
2.获取内存信息
GlobalMemory memory = hal.getMemory();
System.out.println("Memory: " + memory);
3.获取磁盘信息
FileSystem fileSystem = si.getOperatingSystem().getFileSystem();
OSFileStore[] fsArray = fileSystem.getFileStores();
for (OSFileStore fs : fsArray) {
System.out.println("Name: " + fs.getName() + " Total space: " + fs.getTotalSpace());
}
4.获取网络和IP信息
NetworkIF[] networks = hal.getNetworkIFs();
for (NetworkIF net : networks) {
System.out.println("Description: " + net.getDisplayName() + " IP: " + Arrays.toString(net.getIPv4addr()));
}