package com.ruoyi.platform.utils;

public class FileUtil {

    // 格式化文件大小为可读的字符串表示
    public static String formatFileSize(long sizeInBytes) {
        // 检查文件大小是否为负数
        if (sizeInBytes < 0) {
            throw new IllegalArgumentException("File size cannot be negative.");
        }

        // 如果文件大小小于1KB，直接返回字节数
        if (sizeInBytes < 1024) {
            return sizeInBytes + " B";
        }
        // 如果文件大小小于1MB，转换为KB并返回
        else if (sizeInBytes < 1024 * 1024) {
            double sizeInKB = sizeInBytes / 1024.0;
            return String.format("%.2f KB", sizeInKB);
        }
        // 如果文件大小小于1GB，转换为MB并返回
        else if (sizeInBytes < 1024 * 1024 * 1024) {
            double sizeInMB = sizeInBytes / (1024.0 * 1024);
            return String.format("%.2f MB", sizeInMB);
        }
        // 如果文件大小大于或等于1GB，转换为GB并返回
        else {
            double sizeInGB = sizeInBytes / (1024.0 * 1024 * 1024);
            return String.format("%.2f GB", sizeInGB);
        }
    }




}
