```java package com.wonder.utils; import cn.hutool.core.util.CharsetUtil; import cn.hutool.crypto.symmetric.SymmetricAlgorithm; import cn.hutool.crypto.symmetric.SymmetricCrypto; import lombok.extern.slf4j.Slf4j; import oshi.SystemInfo; import oshi.hardware.*; import oshi.software.os.OperatingSystem; import java.io.File; import java.net.Inet4Address; import java.net.InetAddress; import java.net.UnknownHostException; import java.text.DecimalFormat; import java.util.*; /** * 读取硬件信息工具类(含加密解密) * 使用类库:oshi-6.3.0 和 hutool-5.8.6 * [url=home.php?mod=space&uid=686208]@AuThor[/url] ying * [url=home.php?mod=space&uid=1248337]@version[/url] 1.0 * [url=home.php?mod=space&uid=686237]@date[/url] 2022-10-24 */ @Slf4j public class OshiTool { public static void main(String[] args) { SystemInfo si = new SystemInfo(); // System.out.println(getSysInfo(si)); //getCpuInfo(si); getDisks(si); //getMemInfo(si); //getNetWork(si); //OshiTool.getDisks(si); //OshiTool.getUsbDevices(si); // OshiTool.getMemInfo(si); // String context=OshiTool.getSysHashCode(); // System.out.println("原始:"+context); // String encyptStr=OshiTool.encryptCode(context); // System.out.println("加密:"+encyptStr); // System.out.println("解密:"+OshiTool.decryptCode(encyptStr)); } /** * 解密 * [url=home.php?mod=space&uid=952169]@Param[/url] encryptStr 加密字符串 * [url=home.php?mod=space&uid=155549]@Return[/url] String */ public static String decryptCode(String encryptStr){ //随机生成密钥 byte[] key = {12,3,6,8,9,0,7,5,4,3,7,11,88,54,12,35}; //构建 SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, key); //解密为字符串 String decryptStr = aes.decryptStr(encryptStr, CharsetUtil.CHARSET_UTF_8); return decryptStr; } /** * 加密 * @param content 加密内容 * @return String */ public static String encryptCode(String content) { //固定密钥key byte[] key = {12,3,6,8,9,0,7,5,4,3,7,11,88,54,12,35}; //构建 SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, key); //加密为16进制表示 String encryptHex = aes.encryptHex(content); return encryptHex; } /** * 获取电脑 品牌+序列号+硬盘UUID * 用于注册码 * * @return String */ public static String getSysHashCode() { //系统信息 SystemInfo si = new SystemInfo(); //硬件信息 HardwareAbstractionLayer hardware = si.getHardware(); //计算机系统 ComputerSystem cs = hardware.getComputerSystem(); //生成硬件特征码 String vendor = cs.getManufacturer(); String processorSerialNumber = cs.getSerialNumber(); String uuid = cs.getHardwareUUID(); String hardcode = String.format("%08x", vendor.hashCode()) + String.format("%08x", processorSerialNumber.hashCode()) + String.format("%08x", uuid.hashCode()); return hardcode; } /** * 获取外接设备信息 * * @param si oshi.SystemInfo */ public static void getUsbDevices(SystemInfo si) { try { HardwareAbstractionLayer hardware = si.getHardware(); List devs = hardware.getUsbDevices(true); for (UsbDevice ud : devs) { System.out.println("Usb名称:" + ud.getName()); System.out.println("Usb产品ID:" + ud.getProductId()); System.out.println("Usb序列号:" + ud.getSerialNumber()); System.out.println("Usb供应商:" + ud.getVendor()); System.out.println("Usb唯一设备号:" + ud.getUniqueDeviceId()); } } catch (Exception e) { throw new RuntimeException(e); } } /** * 获取硬盘信息 * * @param si oshi.SystemInfo */ public static void getDisks(SystemInfo si) { List list = si.getHardware().getDiskStores(); for (HWDiskStore disk : list) { System.out.println("品牌型号:" + disk.getName() + " " + disk.getModel()); System.out.println("硬盘序号: " + disk.getSerial()); File win = null; List partitions = disk.getPartitions(); long sumFreeSize = 0; for (HWPartition part : partitions) { win = new File(part.getMountPoint()); sumFreeSize += win.getFreeSpace(); System.out.print("盘符:" + part.getMountPoint() + "\t"); System.out.print("名称:" + part.getName() + "\t"); System.out.print("大小:" + convertFileSize(part.getSize()) + "\t"); System.out.print("使用:" + convertFileSize(part.getSize() - win.getFreeSpace()) + "\t"); System.out.print("空闲: " + convertFileSize(win.getFreeSpace()) + "\t"); System.out.println("使用率: " + new DecimalFormat("#.##%").format((part.getSize() - win.getFreeSpace()) * 1.0 / part.getSize())); } System.out.print("硬盘总大小: " + convertFileSize(disk.getSize()) + "\t"); System.out.print("硬盘总空闲: " + convertFileSize(sumFreeSize) + "\t"); System.out.print("硬盘总使用: " + convertFileSize(disk.getSize() - sumFreeSize) + "\t"); System.out.println("硬盘总使用率: " + new DecimalFormat("#.##%").format((disk.getSize() - sumFreeSize) * 1.0 / disk.getSize())); } } /** * 获取网络信息 * * @param si oshi.SystemInfo */ public static void getNetWork(SystemInfo si) { HardwareAbstractionLayer hardware = si.getHardware(); List netWorkifs = hardware.getNetworkIFs(); for (NetworkIF networkIF : netWorkifs) { System.out.println(String.format("IPV4:%s\t网络接收:%s\t网络发送:%s\t显示名称:%s\tMAC地址:%s\t", Arrays.toString(networkIF.getIPv4addr()), networkIF.getBytesRecv(), networkIF.getBytesSent(), networkIF.getDisplayName(), networkIF.getMacaddr())); } } /** * 获取JVM信息 * * @param si oshi.SystemInfo */ public static void getJvmInfo(SystemInfo si) { Properties props = System.getProperties(); // 当前可用的内存总量MB long totalMemory = Runtime.getRuntime().totalMemory(); System.out.println("JVM当前可用的内存总量:" + convertFileSize(totalMemory)); // 当前内存总量的近似值 long freeMemory = Runtime.getRuntime().freeMemory(); System.out.println("JVM当前内存总量的近似值:" + convertFileSize(freeMemory)); // 虚拟机的最大内存容量 long maxMemory = Runtime.getRuntime().maxMemory(); System.out.println("JVM最大内存容量" + convertFileSize(maxMemory)); System.out.println("JAVA版本:" + props.getProperty("java.version")); System.out.println("JAVA_HOME:" + props.getProperty("java.home")); System.out.println("用户时区:" + props.getProperty("user.timezone")); } /** * 获取CPU信息 * * @param si oshi.SystemInfo * @return */ public static Map getCpuInfo(SystemInfo si) { HardwareAbstractionLayer hardware = si.getHardware(); Sensors sensors = hardware.getSensors(); CentralProcessor processor = hardware.getProcessor(); // System.out.println("CPU型号: " + processor.getProcessorIdentifier().getName()); // System.out.println("CPU序列号: " + processor.getProcessorIdentifier().getProcessorID()); // System.out.println("CPU核心: " + processor.getLogicalProcessorCount()); //System.out.println("CPU温度: " + sensors.getCpuTemperature()); ComputerSystem cs = hardware.getComputerSystem(); // System.out.println("主板品牌: " + cs.getManufacturer()); // System.out.println("主板型号: " + cs.getModel()); // System.out.println("主板UUID: " + cs.getHardwareUUID()); // System.out.println("主板序列号: " + cs.getSerialNumber()); String CPUXingHao =processor.getProcessorIdentifier().getName(); String CPUXuLieHao=processor.getProcessorIdentifier().getProcessorID(); String CPUHeXin = String.valueOf(processor.getLogicalProcessorCount()); String CPUWenDu = String.valueOf(sensors.getCpuTemperature()); String ZhuBanPinPai=cs.getManufacturer(); String ZhuBanXingHao=cs.getModel(); String ZhuBanUUID=cs.getHardwareUUID(); String ZhuBanXuLieHao=cs.getSerialNumber(); Map cpuInfoMap = new HashMap(); cpuInfoMap.put("CPUXingHao",CPUXingHao); cpuInfoMap.put("CPUXuLieHao",CPUXuLieHao); cpuInfoMap.put("CPUHeXin",CPUHeXin); //cpuInfoMap.put("CPUWenDu",CPUWenDu); cpuInfoMap.put("ZhuBanPinPai",ZhuBanPinPai); cpuInfoMap.put("ZhuBanXingHao",ZhuBanXingHao); cpuInfoMap.put("ZhuBanUUID",ZhuBanUUID); cpuInfoMap.put("ZhuBanXuLieHao",ZhuBanXuLieHao); return cpuInfoMap; } /** * 获取内存信息 * * @param si oshi.SystemInfo */ public static void getMemInfo(SystemInfo si) { HardwareAbstractionLayer hardware = si.getHardware(); GlobalMemory m = hardware.getMemory(); System.out.println("total总内存:" + convertFileSize(m.getTotal())); System.out.println("used已用内存:" + convertFileSize(m.getTotal() - m.getAvailable())); System.out.println("free剩余内存:" + convertFileSize(m.getAvailable())); System.out.println("usageRate内存使用率:" + new DecimalFormat("#.##%").format((m.getTotal() - m.getAvailable()) * 1.0 / m.getTotal())); List memoryList = m.getPhysicalMemory(); int i = 0; for (PhysicalMemory pm : memoryList) { i++; System.out.println("第[" + i + "]根内存"); System.out.print("内存型号:" + pm.getManufacturer() + "\t"); System.out.print("内存规格:" + pm.getMemoryType() + "\t"); System.out.print("内存主频:" + convertFileSize(pm.getClockSpeed()) + "\t"); System.out.println("内存大小:" + convertFileSize(pm.getCapacity())); } } /** * 字节转换 * * @param size 字节大小 * @return 转换后值 */ public static String convertFileSize(long size) { long kb = 1024; long mb = kb * 1024; long gb = mb * 1024; if (size >= gb) { return String.format("%.1f GB", (float) size / gb); } else if (size >= mb) { float f = (float) size / mb; return String.format(f > 100 ? "%.0f MB" : "%.1f MB", f); } else if (size >= kb) { float f = (float) size / kb; return String.format(f > 100 ? "%.0f KB" : "%.1f KB", f); } else { return String.format("%d B", size); } } /** * 获得系统基础信息 * * @param si oshi.SystemInfo */ public static Map getSysInfo(SystemInfo si) { try { OperatingSystem os = si.getOperatingSystem(); InetAddress ip = Inet4Address.getLocalHost(); Properties properties = System.getProperties(); String hostname = ip.getHostName(); String osVersion = os.getManufacturer() + " " + os.getFamily() + os.getVersionInfo(); String netInfo = os.getNetworkParams().toString() ; String gateWay =os.getNetworkParams().getIpv4DefaultGateway(); String fileOS = os.getFileSystem().toString(); String bitNess = String.valueOf(os.getBitness()); String processCount = String.valueOf(os.getProcessCount()); String threadCount = String.valueOf(os.getThreadCount()); String propertyArch = properties.getProperty("os.arch"); String propertyVersion = properties.getProperty("os.version"); //System.out.println("主机名: " + ip.getHostName()); //System.out.println("系统版本:" + os.getManufacturer() + " " + os.getFamily() + os.getVersionInfo()); //System.out.println("网络信息:" + os.getNetworkParams().toString() + " 网关:" + os.getNetworkParams().getIpv4DefaultGateway()); //System.out.println("文件系统: " + os.getFileSystem().toString()); //System.out.println("系统支持位数: " + os.getBitness()); //System.out.println("进程运行数量: " + os.getProcessCount()); //System.out.println("线程运行数量: " + os.getThreadCount()); //System.out.println("系统位数: " + properties.getProperty("os.arch")); //System.out.println("系统版本: " + properties.getProperty("os.version")); Map sysInfoMap = new HashMap(); sysInfoMap.put("hostname",hostname); sysInfoMap.put("osVersion",osVersion); //sysInfoMap.put("netInfo",netInfo); sysInfoMap.put("gateWay",gateWay); sysInfoMap.put("fileOS",fileOS); sysInfoMap.put("bitNess",bitNess); sysInfoMap.put("processCount",processCount); sysInfoMap.put("threadCount",threadCount); sysInfoMap.put("propertyArch",propertyArch); sysInfoMap.put("propertyVersion",propertyVersion); return sysInfoMap; } catch (UnknownHostException e) { throw new RuntimeException(e); } } } ``` Loading... ```java package com.wonder.utils; import cn.hutool.core.util.CharsetUtil; import cn.hutool.crypto.symmetric.SymmetricAlgorithm; import cn.hutool.crypto.symmetric.SymmetricCrypto; import lombok.extern.slf4j.Slf4j; import oshi.SystemInfo; import oshi.hardware.*; import oshi.software.os.OperatingSystem; import java.io.File; import java.net.Inet4Address; import java.net.InetAddress; import java.net.UnknownHostException; import java.text.DecimalFormat; import java.util.*; /** * 读取硬件信息工具类(含加密解密) * 使用类库:oshi-6.3.0 和 hutool-5.8.6 * [url=home.php?mod=space&uid=686208]@AuThor[/url] ying * [url=home.php?mod=space&uid=1248337]@version[/url] 1.0 * [url=home.php?mod=space&uid=686237]@date[/url] 2022-10-24 */ @Slf4j public class OshiTool { public static void main(String[] args) { SystemInfo si = new SystemInfo(); // System.out.println(getSysInfo(si)); //getCpuInfo(si); getDisks(si); //getMemInfo(si); //getNetWork(si); //OshiTool.getDisks(si); //OshiTool.getUsbDevices(si); // OshiTool.getMemInfo(si); // String context=OshiTool.getSysHashCode(); // System.out.println("原始:"+context); // String encyptStr=OshiTool.encryptCode(context); // System.out.println("加密:"+encyptStr); // System.out.println("解密:"+OshiTool.decryptCode(encyptStr)); } /** * 解密 * [url=home.php?mod=space&uid=952169]@Param[/url] encryptStr 加密字符串 * [url=home.php?mod=space&uid=155549]@Return[/url] String */ public static String decryptCode(String encryptStr){ //随机生成密钥 byte[] key = {12,3,6,8,9,0,7,5,4,3,7,11,88,54,12,35}; //构建 SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, key); //解密为字符串 String decryptStr = aes.decryptStr(encryptStr, CharsetUtil.CHARSET_UTF_8); return decryptStr; } /** * 加密 * @param content 加密内容 * @return String */ public static String encryptCode(String content) { //固定密钥key byte[] key = {12,3,6,8,9,0,7,5,4,3,7,11,88,54,12,35}; //构建 SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, key); //加密为16进制表示 String encryptHex = aes.encryptHex(content); return encryptHex; } /** * 获取电脑 品牌+序列号+硬盘UUID * 用于注册码 * * @return String */ public static String getSysHashCode() { //系统信息 SystemInfo si = new SystemInfo(); //硬件信息 HardwareAbstractionLayer hardware = si.getHardware(); //计算机系统 ComputerSystem cs = hardware.getComputerSystem(); //生成硬件特征码 String vendor = cs.getManufacturer(); String processorSerialNumber = cs.getSerialNumber(); String uuid = cs.getHardwareUUID(); String hardcode = String.format("%08x", vendor.hashCode()) + String.format("%08x", processorSerialNumber.hashCode()) + String.format("%08x", uuid.hashCode()); return hardcode; } /** * 获取外接设备信息 * * @param si oshi.SystemInfo */ public static void getUsbDevices(SystemInfo si) { try { HardwareAbstractionLayer hardware = si.getHardware(); List<UsbDevice> devs = hardware.getUsbDevices(true); for (UsbDevice ud : devs) { System.out.println("Usb名称:" + ud.getName()); System.out.println("Usb产品ID:" + ud.getProductId()); System.out.println("Usb序列号:" + ud.getSerialNumber()); System.out.println("Usb供应商:" + ud.getVendor()); System.out.println("Usb唯一设备号:" + ud.getUniqueDeviceId()); } } catch (Exception e) { throw new RuntimeException(e); } } /** * 获取硬盘信息 * * @param si oshi.SystemInfo */ public static void getDisks(SystemInfo si) { List<HWDiskStore> list = si.getHardware().getDiskStores(); for (HWDiskStore disk : list) { System.out.println("品牌型号:" + disk.getName() + " " + disk.getModel()); System.out.println("硬盘序号: " + disk.getSerial()); File win = null; List<HWPartition> partitions = disk.getPartitions(); long sumFreeSize = 0; for (HWPartition part : partitions) { win = new File(part.getMountPoint()); sumFreeSize += win.getFreeSpace(); System.out.print("盘符:" + part.getMountPoint() + "\t"); System.out.print("名称:" + part.getName() + "\t"); System.out.print("大小:" + convertFileSize(part.getSize()) + "\t"); System.out.print("使用:" + convertFileSize(part.getSize() - win.getFreeSpace()) + "\t"); System.out.print("空闲: " + convertFileSize(win.getFreeSpace()) + "\t"); System.out.println("使用率: " + new DecimalFormat("#.##%").format((part.getSize() - win.getFreeSpace()) * 1.0 / part.getSize())); } System.out.print("硬盘总大小: " + convertFileSize(disk.getSize()) + "\t"); System.out.print("硬盘总空闲: " + convertFileSize(sumFreeSize) + "\t"); System.out.print("硬盘总使用: " + convertFileSize(disk.getSize() - sumFreeSize) + "\t"); System.out.println("硬盘总使用率: " + new DecimalFormat("#.##%").format((disk.getSize() - sumFreeSize) * 1.0 / disk.getSize())); } } /** * 获取网络信息 * * @param si oshi.SystemInfo */ public static void getNetWork(SystemInfo si) { HardwareAbstractionLayer hardware = si.getHardware(); List<NetworkIF> netWorkifs = hardware.getNetworkIFs(); for (NetworkIF networkIF : netWorkifs) { System.out.println(String.format("IPV4:%s\t网络接收:%s\t网络发送:%s\t显示名称:%s\tMAC地址:%s\t", Arrays.toString(networkIF.getIPv4addr()), networkIF.getBytesRecv(), networkIF.getBytesSent(), networkIF.getDisplayName(), networkIF.getMacaddr())); } } /** * 获取JVM信息 * * @param si oshi.SystemInfo */ public static void getJvmInfo(SystemInfo si) { Properties props = System.getProperties(); // 当前可用的内存总量MB long totalMemory = Runtime.getRuntime().totalMemory(); System.out.println("JVM当前可用的内存总量:" + convertFileSize(totalMemory)); // 当前内存总量的近似值 long freeMemory = Runtime.getRuntime().freeMemory(); System.out.println("JVM当前内存总量的近似值:" + convertFileSize(freeMemory)); // 虚拟机的最大内存容量 long maxMemory = Runtime.getRuntime().maxMemory(); System.out.println("JVM最大内存容量" + convertFileSize(maxMemory)); System.out.println("JAVA版本:" + props.getProperty("java.version")); System.out.println("JAVA_HOME:" + props.getProperty("java.home")); System.out.println("用户时区:" + props.getProperty("user.timezone")); } /** * 获取CPU信息 * * @param si oshi.SystemInfo * @return */ public static Map<String, Object> getCpuInfo(SystemInfo si) { HardwareAbstractionLayer hardware = si.getHardware(); Sensors sensors = hardware.getSensors(); CentralProcessor processor = hardware.getProcessor(); // System.out.println("CPU型号: " + processor.getProcessorIdentifier().getName()); // System.out.println("CPU序列号: " + processor.getProcessorIdentifier().getProcessorID()); // System.out.println("CPU核心: " + processor.getLogicalProcessorCount()); //System.out.println("CPU温度: " + sensors.getCpuTemperature()); ComputerSystem cs = hardware.getComputerSystem(); // System.out.println("主板品牌: " + cs.getManufacturer()); // System.out.println("主板型号: " + cs.getModel()); // System.out.println("主板UUID: " + cs.getHardwareUUID()); // System.out.println("主板序列号: " + cs.getSerialNumber()); String CPUXingHao =processor.getProcessorIdentifier().getName(); String CPUXuLieHao=processor.getProcessorIdentifier().getProcessorID(); String CPUHeXin = String.valueOf(processor.getLogicalProcessorCount()); String CPUWenDu = String.valueOf(sensors.getCpuTemperature()); String ZhuBanPinPai=cs.getManufacturer(); String ZhuBanXingHao=cs.getModel(); String ZhuBanUUID=cs.getHardwareUUID(); String ZhuBanXuLieHao=cs.getSerialNumber(); Map<String,Object> cpuInfoMap = new HashMap<String,Object>(); cpuInfoMap.put("CPUXingHao",CPUXingHao); cpuInfoMap.put("CPUXuLieHao",CPUXuLieHao); cpuInfoMap.put("CPUHeXin",CPUHeXin); //cpuInfoMap.put("CPUWenDu",CPUWenDu); cpuInfoMap.put("ZhuBanPinPai",ZhuBanPinPai); cpuInfoMap.put("ZhuBanXingHao",ZhuBanXingHao); cpuInfoMap.put("ZhuBanUUID",ZhuBanUUID); cpuInfoMap.put("ZhuBanXuLieHao",ZhuBanXuLieHao); return cpuInfoMap; } /** * 获取内存信息 * * @param si oshi.SystemInfo */ public static void getMemInfo(SystemInfo si) { HardwareAbstractionLayer hardware = si.getHardware(); GlobalMemory m = hardware.getMemory(); System.out.println("total总内存:" + convertFileSize(m.getTotal())); System.out.println("used已用内存:" + convertFileSize(m.getTotal() - m.getAvailable())); System.out.println("free剩余内存:" + convertFileSize(m.getAvailable())); System.out.println("usageRate内存使用率:" + new DecimalFormat("#.##%").format((m.getTotal() - m.getAvailable()) * 1.0 / m.getTotal())); List<PhysicalMemory> memoryList = m.getPhysicalMemory(); int i = 0; for (PhysicalMemory pm : memoryList) { i++; System.out.println("第[" + i + "]根内存"); System.out.print("内存型号:" + pm.getManufacturer() + "\t"); System.out.print("内存规格:" + pm.getMemoryType() + "\t"); System.out.print("内存主频:" + convertFileSize(pm.getClockSpeed()) + "\t"); System.out.println("内存大小:" + convertFileSize(pm.getCapacity())); } } /** * 字节转换 * * @param size 字节大小 * @return 转换后值 */ public static String convertFileSize(long size) { long kb = 1024; long mb = kb * 1024; long gb = mb * 1024; if (size >= gb) { return String.format("%.1f GB", (float) size / gb); } else if (size >= mb) { float f = (float) size / mb; return String.format(f > 100 ? "%.0f MB" : "%.1f MB", f); } else if (size >= kb) { float f = (float) size / kb; return String.format(f > 100 ? "%.0f KB" : "%.1f KB", f); } else { return String.format("%d B", size); } } /** * 获得系统基础信息 * * @param si oshi.SystemInfo */ public static Map<String, Object> getSysInfo(SystemInfo si) { try { OperatingSystem os = si.getOperatingSystem(); InetAddress ip = Inet4Address.getLocalHost(); Properties properties = System.getProperties(); String hostname = ip.getHostName(); String osVersion = os.getManufacturer() + " " + os.getFamily() + os.getVersionInfo(); String netInfo = os.getNetworkParams().toString() ; String gateWay =os.getNetworkParams().getIpv4DefaultGateway(); String fileOS = os.getFileSystem().toString(); String bitNess = String.valueOf(os.getBitness()); String processCount = String.valueOf(os.getProcessCount()); String threadCount = String.valueOf(os.getThreadCount()); String propertyArch = properties.getProperty("os.arch"); String propertyVersion = properties.getProperty("os.version"); //System.out.println("主机名: " + ip.getHostName()); //System.out.println("系统版本:" + os.getManufacturer() + " " + os.getFamily() + os.getVersionInfo()); //System.out.println("网络信息:" + os.getNetworkParams().toString() + " 网关:" + os.getNetworkParams().getIpv4DefaultGateway()); //System.out.println("文件系统: " + os.getFileSystem().toString()); //System.out.println("系统支持位数: " + os.getBitness()); //System.out.println("进程运行数量: " + os.getProcessCount()); //System.out.println("线程运行数量: " + os.getThreadCount()); //System.out.println("系统位数: " + properties.getProperty("os.arch")); //System.out.println("系统版本: " + properties.getProperty("os.version")); Map<String,Object> sysInfoMap = new HashMap<String,Object>(); sysInfoMap.put("hostname",hostname); sysInfoMap.put("osVersion",osVersion); //sysInfoMap.put("netInfo",netInfo); sysInfoMap.put("gateWay",gateWay); sysInfoMap.put("fileOS",fileOS); sysInfoMap.put("bitNess",bitNess); sysInfoMap.put("processCount",processCount); sysInfoMap.put("threadCount",threadCount); sysInfoMap.put("propertyArch",propertyArch); sysInfoMap.put("propertyVersion",propertyVersion); return sysInfoMap; } catch (UnknownHostException e) { throw new RuntimeException(e); } } } ``` 最后修改:2024 年 11 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏