返回顶部
首页 > 资讯 > 精选 >Java是怎么获取主机的基本信息
  • 431
分享到

Java是怎么获取主机的基本信息

2023-06-22 05:06:59 431人浏览 独家记忆
摘要

Java是怎么获取主机的基本信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。最近在做一个主机资源监控的需求,首先是获取一些最简单的基本参,像一些主机名称、系统类型、ip、cp

Java是怎么获取主机的基本信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

    最近在做一个主机资源监控的需求,首先是获取一些最简单的基本参,像一些主机名称、系统类型、ip、cpu、内存和磁盘等等这些数据,看起来虽然很简单,Java的基本库就能完成,但是真的去使用的时候,还是有一些坑的。记录一下,已备后用。

    1. 获取基本信息

    1.1 获取主机名称和系统

    主机名称可以通过网络类InetAddress来获取,主机系统和用户可以通过System类进行获取。

     public static void getLocalHost(){     try{         InetAddress ip = InetAddress.getLocalHost();         String localName = ip.getHostName();         String osName = System.getProperty("os.name");         String userName = System.getProperty("user.name");         String osVersion = System.getProperty("os.version");         String osArch = System.getProperty("os.arch");                  System.out.println("当前用户:" + userName);         System.out.println("用户的主目录:"+props.getProperty("user.home"));         System.out.println("用户的当前工作目录:"+props.getProperty("user.dir"));         System.out.println("主机名称:" + localName);         System.out.println("主机系统:" + osName);         System.out.println("系统版本:" + osVersion);         System.out.println("系统架构:" + osArch);     } catch (Exception e) {         e.printStackTrace();     } }

    1.2 获取用户信息

    用户信息都是使用System类进行获取。

     public static void getUserInfo(){     try{         String userName = System.getProperty("user.name");         String userHome = System.getProperty("user.home");         String userDir = System.getProperty("user.dir");                  System.out.println("当前用户:" + userName);         System.out.println("用户主目录:"+ userHome);         System.out.println("当前工作目录:"+ userDir);     } catch (Exception e) {         e.printStackTrace();     } }

    1.3 获取主机IP等信息

    主机的ip可以通过网络类InetAddress进行获取,但是这个方法很玄学,机器上多网卡还有虚拟机时,获取到就不准确了。目前做的获取的方法是痛殴便利网卡来获取ip。因为遍历网卡来获取ip要过滤一些不重要的网卡,过滤的方法是来自“经验”的笨方法,可以借鉴,但不保证日后网卡条件复杂的情况下获取不准确。测试的是linuxMacwindows系统可用。因为过滤条件不一样,所以分为Windows获取和非Windows获取。

    Windows系统获取IP:

     public static void getWindowsIpAndMac(){     try {         Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();         // 遍历网卡接口         while (allNetInterfaces.hasMoreElements()) {             NetworkInterface netInterface = allNetInterfaces.nextElement();             // 去除回环接口,子接口,未运行和接口             if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {                 continue;             }                          // 重点来了:“经验”之谈             // 为了过滤掉虚拟机的网卡,可以通过网卡名来进行基础过滤。windows主机ip对应的网卡名会包含下面三个:Intel  无线、Realtek  网线、Ethernet  兼容xp系统             if (!netInterface.getDisplayName().contains("Intel")                 && !netInterface.getDisplayName().contains("Realtek")                 && !netInterface.getDisplayName().contains("Ethernet")) {                 continue;             }                          String ip = "";             String mac = "";             String niName = "";             Enumeration<InetAddress> addresses = netInterface.getInetAddresses();             while (addresses.hasMoreElements()) {                 InetAddress ia = addresses.nextElement();                 // 去除本地回环地址,子接口,未运行和地址                 if (ia != null && !ia.isLoopbackAddress() && ia.isSiteLocalAddress() && !ia.isAnyLocalAddress()) {                     // 判断是否是ip v4地址                     if (ia instanceof Inet4Address) {                         ip = ia.getHostAddress();                         // 获取MAC地址                         mac = getMac(ia);                         niName = netInterface.getName();                         if (StringUtils.isNotBlank(ip) && StringUtils.isNotBlank(mac) && StringUtils.isNotBlank(niName)){                             System.out.println("当前网卡:"+niName);                             System.out.println("当前主机ip:"+ip);                             System.out.println("当前主机MAC:"+mac);                             return;                         }                     }                 }             }         }     } catch (SocketException e) {         e.printStackTrace();     } }

    非Windows系统获取IP:

    其实和windows获取的差不多,也是遍历网卡然后进行过滤,不过这个没有“经验”,不知道要过滤那些,所以用InetAddress进行获取,经测试这个在非windows上获取的还是准确的(可能我linux网卡单一)。不过为了获取当前的网卡用了一个更笨的方法,既然当前获取的ip是准确的,那就根据ip去获取网卡。不过目前没有找到这个方法,所以可以在遍历网卡时取出符合当前ip的网卡。(此方法在我这个需求里是可以的,不保证拿走就能用)。

     public static void getLinuxIpAndMac(AgentMonitor agentMonitor){     try {         // 先获取ip         InetAddress iad = InetAddress.getLocalHost();         String localIp = iad.getHostAddress();          // 遍历网卡         Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();         while (allNetInterfaces.hasMoreElements()) {             NetworkInterface netInterface = allNetInterfaces.nextElement();             // 去除回环接口,子接口,未运行和接口             if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {                 continue;             }              String ip = "";             String mac = "";             String niName = "";             Enumeration<InetAddress> addresses = netInterface.getInetAddresses();             while (addresses.hasMoreElements()) {                 InetAddress ia = addresses.nextElement();                 if (ia != null && !ia.isLoopbackAddress() && ia.isSiteLocalAddress() && !ia.isAnyLocalAddress()) {                     // 判断是否是ip v4地址且是否和已获取的ip一致                     if (ia instanceof Inet4Address && ia.getHostAddress().equals(localIp)) {                         ip = ia.getHostAddress();                         // 获取MAC地址                         mac = getMac(ia);                         niName = netInterface.getName();                         if (StringUtils.isNotBlank(ip) && StringUtils.isNotBlank(mac) && StringUtils.isNotBlank(niName)){                             System.out.println("当前网卡:"+niName);                             System.out.println("当前主机ip:"+ip);                             System.out.println("当前主机MAC:"+mac);                             return;                         }                     }                 }             }         }      } catch (Exception e) {         e.printStackTrace();     } }

    获取MAC地址

     public static String getMac(InetAddress ia){     try {         //获取网卡,获取地址         byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();         StringBuffer sb = new StringBuffer();         if (mac != null && mac.length>0){             for(int i=0; i<mac.length; i++) {                 if(i!=0) {                     sb.append("-");                 }                 //字节转换为整数                 String str = Integer.toHexString(mac[i] & 0xff);                 if(str.length()==1) {                     sb.append("0").append(str);                 }else {                     sb.append(str);                 }             }         }         return sb.toString().toUpperCase();     } catch (SocketException e) {         e.printStackTrace();         return null;     } }

    2. 获取CPU信息

    获取CPU的信息这里选用的是oshi工具,经测试这个获取的还是比较准确的,而且该工具还可以获得其他硬件信息,能获取到的还是比较全面的。首先需要引入oshi的依赖。

     <dependency>     <groupId>com.GitHub.oshi</groupId>     <artifactId>oshi-core</artifactId>     <version>3.12.2</version> </dependency>

    oshi是依赖于JNA,需要导入jna和jna-platfORM我这里用的oshi是3.12.2版本,对应使用的JNA的版本是5.2.0。SpringBoot项目是自带JNA的,如果不是springboot项目需要额外导入。如果springboot项目自带的JNA版本过低,也需要额外导入高版本的JNA。

    <dependency>

    <groupId>net.java.dev.jna</groupId>

    <artifactId>jna</artifactId>

    <version>5.2.0</version>

    </dependency>

    Java是怎么获取主机的基本信息

    JNA版本信息

    2.1 获取CPU核数

    oshi中的CentralProcessor进行获取。获取CPU物理可用的核数,如果有开启超频,那么获取的CPU核数可能会大于物理核数。

     public static void getcpuCount(){     try {         // 获取SystemInfo实例         SystemInfo systemInfo = new SystemInfo();         // 获取CentralProcessor实例         CentralProcessor processor = systemInfo.getHardware().getProcessor();         // 获取CPU核数         int cpuCount = processor.getLogicalProcessorCount();         System.out.println("CPU核数:"+cpuCount);     } catch (SocketException e) {         e.printStackTrace();     } }

    2 获取CPU使用率

    获取系统范围的CPU负载时,一共获取7个部分的负载。

    • CPU 空闲且系统没有未完成的磁盘 I/O 请求的时间。

    • 在系统有未完成的磁盘 I/O 请求期间一个或多个 CPU 空闲的时间。在windows不可用。在MacOS不可用。

    • CPU 用于服务硬件 IRQ 的时间。在MacOS不可用。

    • 在具有良好优先级的用户级别执行时发生的 CPU 利用率。在windows不可用。

    • CPU 用于服务软 IRQ 的时间。

    • 管理程序专用于系统中其他来宾的时间。

    • 在系统级别(内核)执行时发生的 CPU 利用率。

    • 在用户级别(应用程序)执行时发生的 CPU 使用率。

    要使用此方法计算总体空闲时间,就要包括上面所有部分,这样计算出来的结果更准确且兼容各种平台。分两次获取上面信息,间隔1秒。这样就能计算出1秒的CPU各方面使用的差值,通过每一项的差值除以总量,便可以得到每一项的CPU使用率。

    通过下面方法还可以获得CPU时间间隔内的使用率和总使用率。

     public static void getCpuInfo() {     try {         SystemInfo systemInfo = new SystemInfo();         CentralProcessor processor = systemInfo.getHardware().getProcessor();         // 获取系统范围的cpu负载技计数         long[] prevTicks = processor.getSystemCpuLoadTicks();         // 睡眠1s         TimeUnit.SECONDS.sleep(1);         long[] ticks = processor.getSystemCpuLoadTicks();         // 具有良好优先级的用户级别         long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()];         // 硬件服务         long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()];         // 软服务使用         long softirq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()];         // 管理程序使用         long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()];         // 系统使用         long cSys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()];         // 用户使用         long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()];         // 等待使用         long iowait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()];         // 空闲使用         long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()];         long totalCpu = user + nice + cSys + idle + iowait + irq + softirq + steal;         double sysRate = cSys * 1.0 / totalCpu;         double userRate = user * 1.0 / totalCpu;         double waitRate = cSys * 1.0 / totalCpu;         double idleRate = cSys * 1.0 / totalCpu;         double betweenRate = processor.getSystemCpuLoadBetweenTicks();         double cpuLoad = processor.getSystemCpuLoad();         System.out.println("cpu系统使用率:" + new DecimalFormat("#.##%").format(sysRate));         System.out.println("cpu用户使用率:" + new DecimalFormat("#.##%").format(userRate));         System.out.println("cpu当前等待率:" + new DecimalFormat("#.##%").format(waitRate));         System.out.println("cpu当前空闲率:" + new DecimalFormat("#.##%").format(idleRate));         // 获取cpu最近(时间间隔内)使用率         System.out.println("CPU load: "+ new DecimalFormat("#.##%").format(betweenRate) +"(counting ticks)");         // 获取cpu使用率         System.out.println("CPU load: "+ new DecimalFormat("#.##%").format(cpuLoad) +"(OS MXBean)");     }catch (Exception e){         e.printStackTrace();     } }

    3. 获取内存信息

    3.1 获取主机内存

    获取内存信息可以使用OperatingSystemMXBean 来获取。内存信息可以获取到的有内存总量和可用内存,通过这两个值在计算出内存已经使用的量和内存的使用率。获取内存信息同样也可以使用oshi包中的SystemInfo类进行获取。但是测试时获取的数据没有OperatingSystemMXBean获取的更精确。

     public static void getMemInfo(){     try {         OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();         // 总内存,单位:字节             long total = osmxb.getTotalPhysicalMemorySize();             // 空闲内存,单位:字节             long free = osmxb.getFreePhysicalMemorySize();             // 可用内存,单位:字节             long usable = osmxb.getFreePhysicalMemorySize();             // 已使用内存,单位:字节             long used = total - free;             // 内存使用率             double useRate = used * 1.0 / total;             System.out.println("总共内存:" + new DecimalFormat("#.##").format(total*1.0 / Math.pow(1024,3)) + "G");             System.out.println("空闲内存:" + new DecimalFormat("#.##").format(free*1.0 / Math.pow(1024,3)) + "G");             System.out.println("已用内存:" + new DecimalFormat("#.##").format(used*1.0 / Math.pow(1024,3)) + "G");             System.out.println("可用内存:" + new DecimalFormat("#.##").format(usable*1.0 / Math.pow(1024,3)) + "G");             System.out.println("内存使用率:" + new DecimalFormat("#.##%").format(useRate * 100.0));      }catch (Exception e){         e.printStackTrace();     } }

    3.2 获取JVM内存

    获取JVM的内存信息需要使用MemoryMXBean接口中的MemoryUsage类。JVM信息主要是在系统运行时对JVM的使用情况。包括初始的内存大小、最大可用的内存以及当前已经使用的内存大小。

     public static void getJvmMemInfo(){     try {         MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();         // 椎内存使用情况         MemoryUsage memoryUsage = memoryMXBean.getHeapMemoryUsage();         // jvm初始总内存,单位:字节         long initTotalMemorySize = memoryUsage.getInit();         // jvm最大可用内存,单位:字节         long free = osmxb.getFreePhysicalMemorySize();         // jvm已使用的内存,单位:字节         long usable = osmxb.getFreePhysicalMemorySize();                  System.out.println("jvm初始总内存:" + new DecimalFormat("#.##").format(total*1.0 / Math.pow(1024,3)) + "G");         System.out.println("jvm最大可用内存:" + new DecimalFormat("#.##").format(free*1.0 / Math.pow(1024,3)) + "G");         System.out.println("jvm已使用的内存:" + new DecimalFormat("#.##").format(used*1.0 / Math.pow(1024,3)) + "G");      }catch (Exception e){         e.printStackTrace();     } }

    4. 获取磁盘信息

    获取磁盘的使用情况用的是基础的File类。首先是从根目录遍历所有磁盘信息,通过下面方法获取磁盘信息。

    • file.getTotalSpace() :获取当前磁盘的总内存

    • file.getFreeSpace() :获取当前磁盘的空闲内存

    • file.getUsableSpace() :获取当前磁盘的可用内存

    通过上面获取的三个参数,可以计算磁盘总的已使用内存和当前磁盘的内存使用率。

    在计算每一个磁盘的信息时,通过全局变量统计所有磁盘的信息总和,然后计算出主机总的磁盘内存和使用率。

      public static void getDiskInfo(int RADIX){     // 统计总内存     long total = 0;     // 统计总空闲     long free = 0;     // 统计总可用     long usable = 0;     // 统计总已用     long used = 0;     // 磁盘总使用     double usedRate = 0.0;     try{          File[] disks = File.listRoots();         for (File file : disks){             // 统计总量             total += file.getTotalSpace();             free += file.getFreeSpace();             usable += file.getUsableSpace();             used += file.getTotalSpace() - file.getFreeSpace();                          String diskPath = file.getPath();             long diskTotal = file.getTotalSpace();             long diskFree = file.getFreeSpace();             long diskUsable = file.getUsableSpace();             long diskUsed = diskTotal - diskFree;             double diskUsedRate = diskUsed * 1.0 / diskTotal;                       System.out.println("磁盘路径:" + diskPath);             System.out.println("总共空间:"+ new DecimalFormat("#.##").format(diskTotal*1.0 / Math.pow(RADIX,3)) + "G");             System.out.println("空闲空间:"+ new DecimalFormat("#.##").format(diskFree*1.0 / Math.pow(RADIX,3)) + "G");             System.out.println("可用空间:"+ new DecimalFormat("#.##").format(diskUsable*1.0 / Math.pow(RADIX,3)) + "G");             System.out.println("已用空间:"+ new DecimalFormat("#.##").format(diskUsed*1.0 / Math.pow(RADIX,3)) + "G");             System.out.println("空间使用率:" + new DecimalFormat("#.##%").format(diskUsedRate*100));                      }                  String rootPath = "/";         usedRate = used * 1.0 / total;                  System.out.println("磁盘根路径:"+ rootPath);         System.out.println("主机总共空间:"+ new DecimalFormat("#.##").format(total*1.0 / Math.pow(RADIX,3)) + "G");         System.out.println("主机总空闲空间:"+ new DecimalFormat("#.##").format(free*1.0 / Math.pow(RADIX,3)) + "G");         System.out.println("主机总可用空间:"+ new DecimalFormat("#.##").format(usable*1.0 / Math.pow(RADIX,3)) + "G");         System.out.println("主机总已用空间:"+ new DecimalFormat("#.##").format(used*1.0 / Math.pow(RADIX,3)) + "G");         System.out.println("主机总使用率:" + new DecimalFormat("#.##%").format(usedRate*100.0));              }catch (Exception e){         e.printStackTrace();     } }

    5. 获取Java环境信息

    这块就是补充说明了,暂时没用到,先保留一下,已备后用。

     public static void getJavaInfo(){     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("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 }

    看完上述内容,你们掌握Java是怎么获取主机的基本信息的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

    --结束END--

    本文标题: Java是怎么获取主机的基本信息

    本文链接: https://lsjlt.com/news/302779.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Java是怎么获取主机的基本信息
      Java是怎么获取主机的基本信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。最近在做一个主机资源监控的需求,首先是获取一些最简单的基本参,像一些主机名称、系统类型、ip、cp...
      99+
      2023-06-22
    • Java如何获取主机的基本信息详解
      目录1. 获取基本信息1.1 获取主机名称和系统1.2 获取用户信息1.3 获取主机IP等信息2. 获取CPU信息2.1 获取CPU核数3. 获取内存信息3.1 获取主机内存3.2 ...
      99+
      2024-04-02
    • ansible怎么获取主机信息
      要获取主机的信息,可以使用Ansible的setup模块。setup模块可以收集主机的各种信息,并将其保存为Ansible的fact...
      99+
      2023-10-24
      ansible
    • 怎么用python获取远程主机信息
      要获取远程主机的信息,你需要使用Python中的socket模块。以下是一个简单的示例代码,演示如何使用Python获取远程主机的信...
      99+
      2023-10-24
      python
    • Python爬虫获取基金基本信息
      目录1 前言2 如何抓取基本信息3 xpath 获取数据4 bs4 获取数据5 最终结果展现1 前言 上篇文章Python爬虫获取基金列表我们已经讲述了如何从基金网站上获取基金的列表...
      99+
      2024-04-02
    • 如何获取建站主机的ftp信息
      获取建站主机ftp信息的方法:FTP信息是由空间商提供的。登录到空间提供商平台。打开业务管理。选择虚拟主机管理。找到对应的主机,点击“管理”。在对话框中即可看到FTP信息。...
      99+
      2024-04-02
    • Java获怎么取e.printStackTrace()打印的信息
      这篇文章主要介绍“Java获怎么取e.printStackTrace()打印的信息”,在日常操作中,相信很多人在Java获怎么取e.printStackTrace()打印的信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
      99+
      2023-06-20
    • 无法获取云主机详细信息怎么解决
      如果无法获取云主机的详细信息,您可以尝试以下解决方案:1. 确保您具有足够的权限:确保您具有足够的权限以获取云主机的详细信息。有时,...
      99+
      2023-09-17
      云主机
    • C++使用windwos api实现获取计算机基本信息
      目录一、windwos系统包含的基本信息二、获取信息的方法(附代码)三、获取windwos电源信息四、总结一、windwos系统包含的基本信息 Windows 计算机的基本信息包括以...
      99+
      2023-05-17
      C++获取计算机基本信息 C++获取计算机信息 C++ 计算机信息
    • Linux系统下怎么获取主板信息
      这篇文章主要介绍Linux系统下怎么获取主板信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线...
      99+
      2023-06-13
    • 获取Linux主机信息的5个常用命令
      本篇内容介绍了“获取Linux主机信息的5个常用命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 此处以Ubuntu 13.04...
      99+
      2023-06-13
    • linux中有哪些主机信息获取命令
      linux中获取主机信息的命令有:1.hostname命令,获取系统主机名称;2.arch命令,获取当前主机硬件架构信息;3.uname命令,获取系统信息;4.dig命令,获取DNS信息;5.lsusb命令,获取usb设备列表;6.lsmo...
      99+
      2024-04-02
    • Android获取手机的版本号等信息的代码
      本文实例分享了Android获取手机系统版本等信息的方法,供大家参考,具体内容如下: 第一种代码: String phoneInfo = "Product: " + andr...
      99+
      2022-06-06
      版本 版本号 手机 Android
    • 如何在android 中获取本机其他app的版本信息
      如何在android 中获取本机其他app的版本信息?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先建一个实体类,用来存放app信息。package ...
      99+
      2023-05-30
      android
    • Android获取手机系统版本等信息的方法
      本文实例讲述了Android获取手机系统版本等信息的方法。分享给大家供大家参考。具体如下: String phoneInfo = "Product: " + android....
      99+
      2022-06-06
      版本 方法 系统 手机 Android
    • python怎么获取excel中的信息
      python中怎么获取excel中的数据 一.安装第三方库 pip install openpyxl 二、excel组成和python里面对象对应起来 组成:多个单元格组成一个表格,多个表单组成exc...
      99+
      2023-10-02
      python excel 开发语言
    • C++中怎么获取CPU信息
      C++中怎么获取CPU信息,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C++获取CPU信息之获得CPU的制造商信息(Vender ID String)把eax...
      99+
      2023-06-17
    • go获取服务器信息(主机、CPU、内存、硬盘)
      使用github.com/shirou/gopsutil库来获取机器信息,您可以按照以下步骤进行: 1、安装相关库 go get github.com/shirou/gopsutilgo get gi...
      99+
      2023-09-24
      golang
    • Java获取e.printStackTrace()打印的信息方式
      获取e.printStackTrace()打印的信息 某些情况下,我们需要获取应用打印的异常信息,这时就可以借助StringWriter和PrintWriter两个类来获取异常信息 ...
      99+
      2024-04-02
    • java获取一个文本文件的编码(格式)信息
      前言: 文本文件是我们在windows平台下常用的一种文件格式, 这种格式会随着操作系统的语言不同,而出现其默认的编码不同 那么如何使用程序获取“文本文件”的...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作