Java 实现读取出来的文件大小变成KB,MB,TB,PB大小,或者将大单位变成KB
JAVA 实现 读取 大小 或者 变成 出来 文件大小
2023-06-13 09:17:01 时间
目录
1 实现
将file 文件大小变成有单位的
public static String changeFileFormat(String flow) {
BigDecimal flows = new BigDecimal(flow);
if (flows.compareTo(new BigDecimal(0)) > 0 && flows.compareTo(new BigDecimal(1024)) < 0) {//小于1M
return flows.toString() + "B";
} else if(flows.compareTo(new BigDecimal(1024)) >= 0 && flows.compareTo(new BigDecimal(1048576)) < 0){
BigDecimal result = flows.divide(new BigDecimal(1024),2,BigDecimal.ROUND_HALF_UP);
return result.toString() + "KB";
} else if(flows.compareTo(new BigDecimal(1048576)) >= 0 && flows.compareTo(new BigDecimal(1073741824)) < 0){
BigDecimal result = flows.divide(new BigDecimal(1048576),2,BigDecimal.ROUND_HALF_UP);
return result.toString() + "MB";
} else if(flows.compareTo(new BigDecimal(1073741824)) >= 0 && flows.compareTo(new BigDecimal("1099511627776")) < 0){
BigDecimal result = flows.divide(new BigDecimal(1073741824),2,BigDecimal.ROUND_HALF_UP);
return result.toString() + "GB";
} else if(flows.compareTo(new BigDecimal("1099511627776")) >= 0 && flows.compareTo(new BigDecimal("1125899906842624")) < 0){
BigDecimal result = flows.divide(new BigDecimal("1099511627776"),2,BigDecimal.ROUND_HALF_UP);
return result.toString() + "TB";
} else if(flows.compareTo(new BigDecimal("1125899906842624")) >= 0){
BigDecimal result = flows.divide(new BigDecimal("1125899906842624"),2,BigDecimal.ROUND_HALF_UP);
return result.toString() + "PB";
}else {
return "0";
}
}
2 实现
/**
* 将xxZB,xxPB,xxTB,xxGB,xxMB转为 xxKB
* @param flow xxGB,xxMB
*/
private static String changeFileToKBInfo(String flow) {
if(flow.contains("KB")){
return flow.replace("KB","");
}else if(flow.contains("MB")){
BigDecimal flows = new BigDecimal(flow.replace("MB",""));
BigDecimal result = flows.multiply(new BigDecimal(1024)).setScale(2,BigDecimal.ROUND_HALF_UP);
return result.toString();
}else if(flow.contains("GB")){
BigDecimal flows = new BigDecimal(flow.replace("GB",""));
BigDecimal result = flows.multiply(new BigDecimal(1048576)).setScale(2,BigDecimal.ROUND_HALF_UP);
return result.toString();
}else if(flow.contains("TB")){
BigDecimal flows = new BigDecimal(flow.replace("TB",""));
BigDecimal result = flows.multiply(new BigDecimal(1073741824)).setScale(2,BigDecimal.ROUND_HALF_UP);
return result.toString();
}
else if(flow.contains("PB")){
BigDecimal flows = new BigDecimal(flow.replace("PB",""));
BigDecimal result = flows.multiply(new BigDecimal("1099511627776")).setScale(2,BigDecimal.ROUND_HALF_UP);
return result.toString();
}
else if(flow.contains("EB")){
BigDecimal flows = new BigDecimal(flow.replace("EB",""));
BigDecimal result = flows.multiply(new BigDecimal("1125899906842624")).setScale(2,BigDecimal.ROUND_HALF_UP);
return result.toString();
}
else {
return "0";
}
}
相关文章
- JAVA连接Redis客户端多种方式实现
- java 实现多态_Java多态的实现原理
- java实现手机短信验证全过程[通俗易懂]
- java实现定时器的四种方式_java中定时器的实现原理
- 用java实现的文件夹复制与删除的程序详解编程语言
- Java实现二分法排序详解编程语言
- Java 连接 MySQL 数据库简易实现(java连mysql)
- 数据如何使用Java读取MySQL数据(java读取mysql)
- Java操作Oracle数据库:实现数据库连接与访问(java连接oracle数据库)
- Oracle转Java实现跨平台开发的奇妙之旅(oracle转java)
- Java实现Redis事务管理(redis事务java)
- 机制 文章标题:使用Java实现Redis过期机制(redisjava过期)
- 策略使用Java实现Redis中的过期策略(redisjava过期)
- Java实现Redis数据写入(java写入redis)
- 设置Java中Redis过期策略的实现(redisjava过期)
- 策略Java实现Redis过期策略(redisjava过期)
- 机制基于Redis的Java过期机制实现(redisjava过期)
- Java如何在Linux下运行?(java执行linux)
- Java搭配MySQL,实现创新跳跃的可能(java 与mysql)
- 利用Redis锁实现Java程序并发控制(redis锁java实现)
- java读取文件显示进度条的实现方法
- java通过控制鼠标实现屏幕广播的方法