java 文件大小格式化显示工具
来源:互联网 发布:正当防卫3内存优化补丁 编辑:程序博客网 时间:2024/06/07 00:55
// 进制位
final static int JZ = 1024;
// 1Byte
final static int B = 1;
// 1KB
final static long KB = B * JZ;
// 1MB
final static long MB = KB * JZ;
// 1GB
final static long GB = MB * JZ;
// 1TB
final static long TB = GB * JZ;
// 1PB
final static long PB = TB * JZ;
// EB (最多7EB)
final static long EB = PB * JZ;
// ZB(long 不能存储ZB字节)
// final static long ZB = EB * JZ;
/**
* 格式化显示文件大小:<br>
* 1KB=1024B<br>
* 1MB=1024KB<br>
* 1GB=1024MB<br>
* 1TB=1024GB<br>
* 1PB=1024TB<br>
* 1EB=1024PB<br>
* 1ZB =1024EB<br>
* 1YB =1024ZB<br>
* 1BB=1024YB<br>
*
* @param size
* @param precision
* 精度 0~6
* @return
*/
public static String sizeFormat(Long size, int precision) {
if (precision > 6) {
precision = 6;
} else if (precision < 0) {
precision = 0;
}
String format = "%." + precision + "f %s";
Double val = 0.0;
String unit = "B";
if (size == null || size < 0) {
return String.format(format, val, unit);
}
long T = B;
if (size >= B && size < MB) {
// KB范围
T = KB;
unit = "KB";
} else if (size >= MB && size < GB) {
// MB 范围
T = MB;
unit = "MB";
} else if (size >= GB && size < TB) {
// GB
T = GB;
unit = "GB";
} else if (size >= TB && size < PB) {
// TB
T = TB;
unit = "TB";
} else if (size >= PB && size < EB) {
// PB
T = PB;
unit = "PB";
} else if (size >= EB) {
T = EB;
unit = "EB";
}
val = (double) (size / T + (size * 1.0 % T / T));
// size%1024=KB
// size%(1024*1024)=MB
// size%(1024*1024*1024)=GB
// size%(1024*1024*1024*1024)=TB
// size%(1024*1024*1024*1024*1024)=PB
// size%(1024*1024*1024*1024*1024*1024)=EB
// size%(1024*1024*1024*1024*1024*1024*1024)=ZB
// size%(1024*1024*1024*1024*1024*1024*1024*1024)=YB
// size%(1024*1024*1024*1024*1024*1024*1024*1024*1024)=BB
return String.format(format, val, unit);
}
/**
* 格式化显示文件大小:<br>
* 1KB=1024B<br>
* 1MB=1024KB<br>
* 1GB=1024MB<br>
* 1TB=1024GB<br>
* 1PB=1024TB<br>
* 1EB=1024PB<br>
* 1ZB =1024EB<br>
* 1YB =1024ZB<br>
* 1BB=1024YB<br>
*
* @param size
* @return
*/
public static String sizeFormat(Long size) {
return sizeFormat(size, 2);
}
final static int JZ = 1024;
// 1Byte
final static int B = 1;
// 1KB
final static long KB = B * JZ;
// 1MB
final static long MB = KB * JZ;
// 1GB
final static long GB = MB * JZ;
// 1TB
final static long TB = GB * JZ;
// 1PB
final static long PB = TB * JZ;
// EB (最多7EB)
final static long EB = PB * JZ;
// ZB(long 不能存储ZB字节)
// final static long ZB = EB * JZ;
/**
* 格式化显示文件大小:<br>
* 1KB=1024B<br>
* 1MB=1024KB<br>
* 1GB=1024MB<br>
* 1TB=1024GB<br>
* 1PB=1024TB<br>
* 1EB=1024PB<br>
* 1ZB =1024EB<br>
* 1YB =1024ZB<br>
* 1BB=1024YB<br>
*
* @param size
* @param precision
* 精度 0~6
* @return
*/
public static String sizeFormat(Long size, int precision) {
if (precision > 6) {
precision = 6;
} else if (precision < 0) {
precision = 0;
}
String format = "%." + precision + "f %s";
Double val = 0.0;
String unit = "B";
if (size == null || size < 0) {
return String.format(format, val, unit);
}
long T = B;
if (size >= B && size < MB) {
// KB范围
T = KB;
unit = "KB";
} else if (size >= MB && size < GB) {
// MB 范围
T = MB;
unit = "MB";
} else if (size >= GB && size < TB) {
// GB
T = GB;
unit = "GB";
} else if (size >= TB && size < PB) {
// TB
T = TB;
unit = "TB";
} else if (size >= PB && size < EB) {
// PB
T = PB;
unit = "PB";
} else if (size >= EB) {
T = EB;
unit = "EB";
}
val = (double) (size / T + (size * 1.0 % T / T));
// size%1024=KB
// size%(1024*1024)=MB
// size%(1024*1024*1024)=GB
// size%(1024*1024*1024*1024)=TB
// size%(1024*1024*1024*1024*1024)=PB
// size%(1024*1024*1024*1024*1024*1024)=EB
// size%(1024*1024*1024*1024*1024*1024*1024)=ZB
// size%(1024*1024*1024*1024*1024*1024*1024*1024)=YB
// size%(1024*1024*1024*1024*1024*1024*1024*1024*1024)=BB
return String.format(format, val, unit);
}
/**
* 格式化显示文件大小:<br>
* 1KB=1024B<br>
* 1MB=1024KB<br>
* 1GB=1024MB<br>
* 1TB=1024GB<br>
* 1PB=1024TB<br>
* 1EB=1024PB<br>
* 1ZB =1024EB<br>
* 1YB =1024ZB<br>
* 1BB=1024YB<br>
*
* @param size
* @return
*/
public static String sizeFormat(Long size) {
return sizeFormat(size, 2);
}
阅读全文
0 0
- java 文件大小格式化显示工具
- 文件大小格式化(java)
- java文件大小格式化输出
- C# 中格式化文件大小显示
- PHP格式化显示文件大小函数
- PHP格式化显示文件大小函数
- 格式化文件大小
- android 字符串工具类 格式化日期字符串 拼接数组 判断字符串是否为空 转换时间显示 转换文件大小 获取中英文字符个数
- java日期格式化工具。
- Java xml格式化工具
- Java Json格式化工具
- java日期格式化显示
- Java:Timestamp格式化显示
- java通用工具类 ---获取目录文件大小
- PHP文件大小格式化函数
- 格式化输入文件大小
- 文件大小格式化php
- 文件大小格式化(JS)
- 为什么你需要将代码迁移到ASP.NET Core 2.0?
- 错误——MySQL在navicat打开时出现1045
- [jzoj]3874. 【NOIP2014八校联考第4场第2试10.20】准备复赛(exam)(树形DP+组合数)
- windows anaconda3 tensorflow作为Keras的backend
- PowerBI开发 第六章:数据网管
- java 文件大小格式化显示工具
- 蓄水池算法
- python 2和python 3相互切换
- 【知识整理】Node.js-Sequelize之原始查询
- gym101102I(模拟)
- Java 网络 IO 模型
- SQLite数据库使用方法详解
- 程序员是一个什么能力都可以发挥作用的平台
- CF 855B. Marvolo Gaunt's Ring【枚举||递推】