java代码 文件大小单位转换 小于1MB则转换为KB单位,向下取整,最小为1KB
时间: 2024-03-12 21:45:50 浏览: 19
可以使用以下Java代码实现文件大小的单位转换:
```java
public static String formatFileSize(long size) {
if (size < 1024) {
return "1KB";
} else if (size < 1024 * 1024) {
return (size / 1024) + "KB";
} else {
double mbSize = (double) size / (1024 * 1024);
return String.format("%.0f", mbSize < 1 ? 1 : mbSize) + "MB";
}
}
```
使用示例:
```java
long fileSize = 500; // 500B
String formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:1KB
fileSize = 1024 * 500; // 500KB
formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:500KB
fileSize = 1024 * 1024 * 2; // 2MB
formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:2MB
fileSize = 1024 * 1024 * 1 + 1024 * 500; // 1.5MB
formattedSize = formatFileSize(fileSize);
System.out.println(formattedSize); // 输出:2MB
```
注意:当文件大小大于等于1MB时,该方法会将文件大小转换为MB单位,并保留一位小数位。如果转换后的值小于1MB,则将其设置为1MB。