formatFileSize function

String formatFileSize(
  1. int bytes
)

将字节大小转换为可读性更好的格式

Implementation

String formatFileSize(int bytes) {
  if (bytes <= 0) return "0 B";

  const suffixes = ["B", "KB", "MB", "GB", "TB"];
  var i = (math.log(bytes) / math.log(1024)).floor();
  i = i < suffixes.length ? i : suffixes.length - 1;

  double size = bytes / math.pow(1024, i);

  // 如果是整数,不显示小数点
  if (size == size.toInt()) {
    return '${size.toInt()} ${suffixes[i]}';
  } else {
    return '${size.toStringAsFixed(2)} ${suffixes[i]}';
  }
}