参考:java 文件大小单位换算_获取文件大小Byte、KB、MB、GB、TB单位自动转换
/**
* 根据相对路径读取文件大小,自动换算成KB,MB,GB
*
* @param file File文件对象
* @return 字符串,换算成换算成KB,MB,GB,TB
*/
public static String readSizeAsString(File file) {
double dSize = 0;//文件大小
String unit;//单位
//判断文件是否存在
if (file.exists() && file.isFile()) {
dSize = (double) file.length();
}
if (dSize > 0) {
int n = 0;
while (dSize >= 1024) {
dSize = dSize / 1024;
n++;
}
switch (n) {
case 0:
unit = "Byte";
break;
case 1:
unit = "KB";
break;
case 2:
unit = "MB";
break;
case 3:
unit = "GB";
break;
case 4:
unit = "TB";
break;
default:
unit = "ER"; //ER代表错误
}
//转字符串取2位小数
String format = String.format("%.2f", dSize);
return format + unit;
}
return null;
}