namespace AI.Utils
{
///
/// 文件工具类
///
public static class FileUnit
{
private static readonly string[] SizeUnits =
["B", "KB", "MB", "GB", "TB", "PB"];
///
/// 格式化字节数为更易读的字符串格式
///
/// 字符数
/// 易读的字符串格式
public static string FormatFileSize(long bytes)
{
int unitIndex = 0;
decimal size = bytes;
// 主要是防止 UI 层可能没有做校验这些
if (size < 0)
{
return "0 B";
}
while (size >= 1024 && unitIndex < SizeUnits.Length - 1)
{
size /= 1024;
unitIndex++;
}
return $"{size:F1} {SizeUnits[unitIndex]}";
}
}
}