java如何获取hdd序列号

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了java如何获取hdd序列号脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

java里头如何获取硬盘的序列号呢,这里涉及了跨平台的问题,不同的操作系统的查看命令不一样,那么java里头如何去适配呢。这里使用了oshi这个项目来获取。

oshi

全称是Native operating System and Hardware Information。使用的是jna的方式而不是jni的形式来进行本地调用的。

  • jni
    JNI(Java Native Interface)是Java语言本身提供的调用本地已编译的函数库的方法,本身具有跨平台性,可以在不同的机器上调用不同的本地库。使用JNI调用.dll/.so共享类库我们首先需要另外使用c语言写一个.dll/.so共享库,使用SUN规定的数据结构替代C语言的数据结构,调用已有的dll/so中公布的函数。然后再在Java中载入这个适配器dll/so,再编写Java native函数作为dll中函数的代理。经过2个繁琐的步骤才能在Java中调用本地代码。

  • jna
    JNA(Java Native Access)框架是一个开的Java框架,是SUN公司主导开发的,建立在经典的JNI的基础之上的一个框架。使用JNA,不需要再编写适配用的.dll/.so,只需要在Java中编写一个接口和一些代码,作为.dll/.so的代理,就可以在Java程序中调用dll/so。

maven

        <dependency>             <groupId>com.github.oshi</groupId>             <artifactId>oshi-core</artifactId>             <version>3.4.3</version>         </dependency>

获取方法

         SystemInfo si = new SystemInfo();         HardwareAbstractionLayer hal = si.getHardware();         HWDiskStore[] stores = hal.getDiskStores();         Arrays.stream(stores).forEach(e -> {             System.out.println(e.getName() + ":" + e.getSerial());         });

doc

脚本宝典总结

以上是脚本宝典为你收集整理的java如何获取hdd序列号全部内容,希望文章能够帮你解决java如何获取hdd序列号所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。