Java获取上传的文件大小并且转换对文件大小进行单位转化

Posted 小花皮猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java获取上传的文件大小并且转换对文件大小进行单位转化相关的知识,希望对你有一定的参考价值。

前言

今天产品提出来一个需求,上传文件的时候要记录文件的大小,并且保存到数据库里面。

正好借着这个机会,分享下对文件大小进行单位转化的一个方法。

获取文件大小(原字节)。

一般和前后端进行文件交互,都是通过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;
    

这时候再来测试下代码,发现文件大小格式已经转变了。

这时候,就可以根据自己的需求,看看需要储存哪种文件大小格式就好了。

以上是关于Java获取上传的文件大小并且转换对文件大小进行单位转化的主要内容,如果未能解决你的问题,请参考以下文章

MVC中通过jquery实现图片预览上传,并对文件类型大小进行判断(极简)

js上传文件前判断获取文件大小并且加以判断

java 文件上传 大小_java 上传文件大小转换为 GB/MB/KB/B

百度网盘中文件超出大小4G限制,请至PC客户端上传大文件什么意思?

获取载波上传的文件大小

Java 判断文件大小