2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java 文件大小单位换算_获取文件大小Byte KB MB GB TB单位自动转换

java 文件大小单位换算_获取文件大小Byte KB MB GB TB单位自动转换

时间:2023-12-16 04:11:47

相关推荐

java 文件大小单位换算_获取文件大小Byte KB MB GB TB单位自动转换

获取文件大小Byte、KB、MB、GB、TB单位自动转换

下面这个是直接获取Byte(字节大小)

/**

* 获取文件的大小(Byte)

* @param file 文件

* @return 文件的大小 若文件不存在或者不是文件就返回null

*/

public static Long getByteSize(File file) {

if (file.exists() && file.isFile()) {

return file.length();

}

return null;

}

这一个是标题说的那种情况、会自动判断文件大小生成文件达到的最大单位为单位的、大小为小数点后三位、四舍五入的字符串(方便存入数据库中)

/**

* 获取文件的大小(返回到达的最高单位)

* 比如:1024Byte就不再用Byte

* 直接返回1KB

* 返回值精确到小数点后3位

* @param file 文件

* @return 文件的大小 若文件不存在或者不是文件就返回null

*/

public static String getSize(File file) {

long size = getByteSize(file);

double s = (double) size;

String unit;

if (size != -1L) {

int l;

if (size < 1024L) {

l = 0;

} else if (size < 1024L * 1024L) {

l = 1;

s = (double) size / 1024L;

} else {

for (l = 2; size >= 1024L * 1024L; l++) {

size = size / 1024L;

if ((size / 1024L) < 1024L) {

s = (double) size / 1024L;

break;

}

}

}

switch (l) {

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:

//ER代表错误

unit = "ER";

}

String format = String.format("%.3f", s);

return format + unit;

}

return null;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。