新增获取磁盘主机的信息

This commit is contained in:
2025-08-24 21:42:47 +08:00
parent da2b2cf14c
commit a4e576f27d
3 changed files with 34 additions and 6 deletions

View File

@@ -41,19 +41,19 @@ public class DiskMount implements Serializable {
* 总容量
*/
@TableField("size_kb")
private BigDecimal sizeKb;
private String sizeKb;
/**
* 已用容量
*/
@TableField("used_kb")
private BigDecimal usedKb;
private String usedKb;
/**
* 可用容量
*/
@TableField("avail_kb")
private BigDecimal availKb;
private String availKb;
/**
* 挂载路径

View File

@@ -103,9 +103,9 @@ public final class HostInfo {
if (arr.length < 6) continue; // 跳过异常行
DiskMount d = new DiskMount();
d.setDiskFs(arr[0]);
d.setSizeKb(new BigDecimal(arr[1]));
d.setUsedKb(new BigDecimal(arr[2]));
d.setAvailKb(new BigDecimal(arr[3]));
d.setSizeKb(vF.format(Long.parseLong(arr[1])));
d.setUsedKb(vF.format(Long.parseLong(arr[2])));
d.setAvailKb(vF.format(Long.parseLong(arr[3])));
d.setMountPoint(arr[5]);
list.add(d);
}

View File

@@ -0,0 +1,28 @@
package com.mini.capi.utils;
public class vF {
private static final String[] UNITS = {"B", "K", "M", "G", "T", "P"};
public static String format(long bytes) {
if (bytes < 0) {
throw new IllegalArgumentException("字节数不能为负数");
}
int unitIndex = 0;
double size = bytes;
while (size >= 1024 && unitIndex < UNITS.length - 1) {
size /= 1024;
unitIndex++;
}
// 保留最多一位小数,去掉多余的 .0
return String.format("%.1f", size).replace(".0", "") + UNITS[unitIndex];
}
}