新增获取磁盘主机的信息

This commit is contained in:
2025-08-24 22:56:43 +08:00
parent a4e576f27d
commit f9b9c11264
2 changed files with 10 additions and 9 deletions

View File

@@ -6,7 +6,6 @@ import com.mini.capi.biz.domain.DiskMount;
import com.mini.capi.biz.domain.SysHost; import com.mini.capi.biz.domain.SysHost;
import java.io.*; import java.io.*;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
public final class HostInfo { public final class HostInfo {
@@ -67,7 +66,7 @@ public final class HostInfo {
return out.toString().trim(); return out.toString().trim();
} }
private static void waitForExit(ChannelExec ch) throws Exception { private static void waitForExit(ChannelExec ch) {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
while (!ch.isClosed()) { while (!ch.isClosed()) {
if (System.currentTimeMillis() - start > 30_000) { if (System.currentTimeMillis() - start > 30_000) {

View File

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