前言
今天产品提出来一个需求,上传文件的时候要记录文件的大小,并且保存到数据库里面。
正好借着这个机会,分享下对文件大小进行单位转化的一个方法。
获取文件大小(原字节)。
一般和前后端进行文件交互,都是通过MultipartFile实现的,它有一个方法:getSize()
无需参数,返回的是该文件Long类型的字节。
我们可以通过它获取到上传的文件的原字节
我本地有一个文件,可以看到它的文件大小,一会我就用它进行测试:
然和测试接口,就用这个文件:
可以发现,获取到的文件大小和原字节是一模一样的
获取文件大小(单位转化)。
虽然可以获取到文件的原字节大小,但是有的需求是需要我们把这个字节进行单位转换的。
这时候需要我们一个方法,把获取到的文件字节传进去,然后返回的就是字节转换后的文件大小
private String formatSize(long fileS) {
DecimalFormat df = new DecimalFormat("#.00");
String fileSizeString = "";
String wrongSize = "0B";
if (fileS == 0) {
return wrongSize;
}
if (fileS < 1024) {
fileSizeString = df.format((double) fileS) + "B";
} else if (fileS < 1048576) {
fileSizeString = df.format((double) fileS / 1024) + "KB";
} else if (fileS < 1073741824) {
fileSizeString = df.format((double) fileS / 1048576) + "MB";
} else {
fileSizeString = df.format((double) fileS / 1073741824) + "GB";
}
return fileSizeString;
}
这时候再来测试下代码,发现文件大小格式已经转变了。
文章来源:https://www.toymoban.com/news/detail-602206.html
这时候,就可以根据自己的需求,看看需要储存哪种文件大小格式就好了。文章来源地址https://www.toymoban.com/news/detail-602206.html
到了这里,关于Java获取上传的文件大小并且转换对文件大小进行单位转化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!