java代码 文件大小单位转换:1.小于1KB,转换为B,无小数位 2.小于1MB,转换为KB,无小数位,最小为1KB 3.小于1GB,转换为MB,保留一位小数位,向下取整 4.大于等于1GB,转换位GB,保留俩位小数位,向下取整,且小数点最后位为0则不显示。
时间: 2024-01-10 14:03:27 浏览: 143
可以使用以下Java代码实现文件大小的单位转换:
```java
public static String formatFileSize(long size) {
if (size < 1024) {
return size + "B";
} else if (size < 1024 * 1024) {
return (size / 1024) + "KB";
} else if (size < 1024 * 1024 * 1024) {
double mbSize = (double) size / (1024 * 1024);
return String.format("%.0f", mbSize < 1 ? 1 : mbSize) + "MB";
} else {
double gbSize = (double) size / (1024 * 1024 * 1024);
String gbSizeStr = String.format("%.2f", gbSize < 1 ? 1 : gbSize) + "GB";
if (gbSizeStr.endsWith("0")) {
gbSizeStr = gbSizeStr.substring(0, gbSizeStr.length() - 1);
}
return gbSizeStr;
}
}
```
使用示例:
```java
long fileSize = 1024 * 1024 * 10; // 10MB
String formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:10MB
fileSize = 1024 * 500; // 500KB
formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:1KB
fileSize = 1024 * 1024 * 1024 * 5 + 1024 * 1024 * 500; // 5.5GB
formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:5.50GB
```
阅读全文