我正在使用OSHI https://github.com/oshi/oshi监视硬件。

有办法

HWDiskStore[] getDisks();


https://github.com/oshi/oshi/blob/master/oshi-core/src/main/java/oshi/hardware/Disks.java
获取计算机上所有硬盘驱动器的列表。

是否可以为特定路径获取HWDiskStore

FileStore getFileStore(Path path)


https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#getFileStore-java.nio.file.Path-

如果没有,将HWDiskStore与给定路径匹配的可靠方法是什么,例如使用磁盘名称或序列号等?

最佳答案

DiskStore是属于机械的一部分的硬件对象(例如,硬盘驱动器,SSD等),而FileStore是与操作系统/文件系统关联的软件对象。

OSHI的HWDiskStore对象具有getPartitions()方法,该方法返回HWPartition对象的数组。这些对象具有getMountPoint()方法,该方法应该是与String安装点相对应的OSFileStore

OSHI的OSFileStore对象与Java FileStore对象相对应,并具有getMount()方法,该方法应直接与HWPartition挂载点匹配。

07-27 13:46