参考:java 文件大小单位换算_获取文件大小Byte、KB、MB、GB、TB单位自动转换

    1. /**
    2. * 根据相对路径读取文件大小,自动换算成KB,MB,GB
    3. *
    4. * @param file File文件对象
    5. * @return 字符串,换算成换算成KB,MB,GB,TB
    6. */
    7. public static String readSizeAsString(File file) {
    8. double dSize = 0;//文件大小
    9. String unit;//单位
    10. //判断文件是否存在
    11. if (file.exists() && file.isFile()) {
    12. dSize = (double) file.length();
    13. }
    14. if (dSize > 0) {
    15. int n = 0;
    16. while (dSize >= 1024) {
    17. dSize = dSize / 1024;
    18. n++;
    19. }
    20. switch (n) {
    21. case 0:
    22. unit = "Byte";
    23. break;
    24. case 1:
    25. unit = "KB";
    26. break;
    27. case 2:
    28. unit = "MB";
    29. break;
    30. case 3:
    31. unit = "GB";
    32. break;
    33. case 4:
    34. unit = "TB";
    35. break;
    36. default:
    37. unit = "ER"; //ER代表错误
    38. }
    39. //转字符串取2位小数
    40. String format = String.format("%.2f", dSize);
    41. return format + unit;
    42. }
    43. return null;
    44. }