设为首页 加入收藏

TOP

Java中获取系统相关信息——sigar(三)
2015-02-04 13:53:04 来源: 作者: 【 】 浏览:111
Tags:Java 获取 系统 相关 信息 sigar
Netmask = " + ifconfig.getNetmask());// 子网掩码?
? ? if ((ifconfig.getFlags() & 1L) <= 0L) {?
? ? ? ? print("!IFF_UP...skipping getNetInterfaceStat");?
? ? ? ? continue;?
? ? }?
? ? try {?
? ? ? ? NetInterfaceStat ifstat = sigar.getNetInterfaceStat(name);?
? ? ? ? print("RxPackets = " + ifstat.getRxPackets());// 接收的总包裹数?
? ? ? ? print("TxPackets = " + ifstat.getTxPackets());// 发送的总包裹数?
? ? ? ? print("RxBytes = " + ifstat.getRxBytes());// 接收到的总字节数?
? ? ? ? print("TxBytes = " + ifstat.getTxBytes());// 发送的总字节数?
? ? ? ? print("RxErrors = " + ifstat.getRxErrors());// 接收到的错误包数?
? ? ? ? print("TxErrors = " + ifstat.getTxErrors());// 发送数据包时的错误数?
? ? ? ? print("RxDropped = " + ifstat.getRxDropped());// 接收时丢弃的包数?
? ? ? ? print("TxDropped = " + ifstat.getTxDropped());// 发送时丢弃的包数?
? ? } catch (SigarNotImplementedException e) {?
? ? } catch (SigarException e) {?
? ? ? ? print(e.getMessage());?
? ? }?
}?
?
// 一些其他的信息?
for (int i = 0; i < ifaces.length; i++) {?
? ? NetInterfaceConfig cfg = sigar.getNetInterfaceConfig(ifaces[i]);?
? ? if (NetFlags.LOOPBACK_ADDRESS.equals(cfg.getAddress())?
? ? ? ? ? ? || (cfg.getFlags() & NetFlags.IFF_LOOPBACK) != 0?
? ? ? ? ? ? || NetFlags.NULL_HWADDR.equals(cfg.getHwaddr())) {?
? ? ? ? continue;?
? ? }?
? ? print("cfg.getAddress() = " + cfg.getAddress());// IP地址?
? ? print("cfg.getBroadcast() = " + cfg.getBroadcast());// 网关广播地址?
? ? print("cfg.getHwaddr() = " + cfg.getHwaddr());// 网卡MAC地址?
? ? print("cfg.getNetmask() = " + cfg.getNetmask());// 子网掩码?
? ? System.out?
? ? ? ? ? ? .println("cfg.getDescription() = " + cfg.getDescription());// 网卡描述信息?
? ? print("cfg.getType() = " + cfg.getType());//?
? ? System.out?
? ? ? ? ? ? .println("cfg.getDestination() = " + cfg.getDestination());?
? ? print("cfg.getFlags() = " + cfg.getFlags());//?
? ? print("cfg.getMetric() = " + cfg.getMetric());?
? ? print("cfg.getMtu() = " + cfg.getMtu());?
? ? print("cfg.getName() = " + cfg.getName());?
}?


三、sigar的包及相关文件


该类需要引入jar包,另外为了防止程序运行时的错误,还需要相关文件,进入下载


--------------------------------------分割线 --------------------------------------


具体下载目录在 /2015年资料/2月/3日/Java中获取系统相关信息——sigar/


--------------------------------------分割线 --------------------------------------


四、在Windows中的常见问题


?使用该类常常会遇到问题:


java.lang.UnsatisfiedLinkError: org.hyperic.sigar.SysInfo.gather(Lorg/hyperic/sigar/Sigar;)V
org.hyperic.sigar.SysInfo.gather(Native Method)
org.hyperic.sigar.OperatingSystem.getInstance(OperatingSystem.java:90)
com.shuhaiserver.page.servlet.LoginServlet.doLogin(LoginServlet.java:146)
com.shuhaiserver.page.servlet.LoginServlet.doPost(LoginServlet.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.shuhaiserver.page.servlet.MyFilter.doFilter(MyFilter.java:82)


此时,需要将libsigar-amd64-linux.so、libsigar-x86-linux.so、sigar-amd64-winnt.dll、sigar-x86-winnt.dll、sigar-x86-winnt.lib文件放在项目的lib文件夹下


五、在Linux中的常见问题


如果在Linux中还会包如上问题,可以尝试将相关文件放在项目的src文件夹下


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇IntelliJ IDEA读取资源文件 下一篇Linux C编程学习:如何锁定内存

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: