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

1.工具类

package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import java.text.DecimalFormat;
public class FileSizeUtil { private static final String TAG=FileSizeUtil.class.getSimpleName(); public static final int SIZETYPE_B = 1;//获取文件大小单位为B的double值 public static final int SIZETYPE_KB = 2;//获取文件大小单位为KB的double值 public static final int SIZETYPE_MB = 3;//获取文件大小单位为MB的double值 public static final int SIZETYPE_GB = 4;//获取文件大小单位为GB的double值 /** * 获取文件指定文件的指定单位的大小 * * @param filePath 文件路径 * @param sizeType 获取大小的类型1为B、2为KB、3为MB、4为GB * @return double值的大小 */ public static double getFileOrFilesSize(String filePath, int sizeType) { File file = new File(filePath); long blockSize = 0; try { if (file.isDirectory()) { blockSize = getFileSizes(file); } else { blockSize = getFileSize(file); } } catch (Exception e) { e.printStackTrace(); } return FormetFileSize(blockSize, sizeType); } /** * 调用此方法自动计算指定文件或指定文件夹的大小 * * @param filePath 文件路径 * @return 计算好的带B、KB、MB、GB的字符串 */ public static String getAutoFileOrFilesSize(String filePath) { File file = new File(filePath); long blockSize = 0; try { if (file.isDirectory()) { blockSize = getFileSizes(file); } else { blockSize = getFileSize(file); } } catch (Exception e) { e.printStackTrace(); } return formatFileSize(blockSize); } /** * 获取指定文件大小 */ private static long getFileSize(File file) throws Exception { long size = 0; if (file.exists()) { FileInputStream fis = null; fis = new FileInputStream(file); size = fis.available(); } else { file.createNewFile(); } return size; } /** * 获取指定文件夹 */ private static long getFileSizes(File f) throws Exception { long size = 0; File flist[] = f.listFiles(); assert flist != null; for (File file : flist) { if (file.isDirectory()) { size = size + getFileSizes(file); } else { size = size + getFileSize(file); } } return size; } /** * 转换文件大小 */ public static String formatFileSize(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; } /** * 转换文件大小,指定转换的类型 */ private static double FormetFileSize(long fileS, int sizeType) { DecimalFormat df = new DecimalFormat("#.00"); double fileSizeLong = 0; switch (sizeType) { case SIZETYPE_B: fileSizeLong = Double.valueOf(df.format((double) fileS)); break; case SIZETYPE_KB: fileSizeLong = Double.valueOf(df.format((double) fileS / 1024)); break; case SIZETYPE_MB: fileSizeLong = Double.valueOf(df.format((double) fileS / 1048576)); break; case SIZETYPE_GB: fileSizeLong = Double.valueOf(df.format((double) fileS / 1073741824)); break; default: break; } return fileSizeLong; } }

 

2.使用

    /**
     * 新增多媒体-图片
     *
     * @param mediaphoto 多媒体-图片信息
     * @return 结果
     */
    @Override
    @Transactional
    public int insertMediaphoto(Mediaphoto mediaphoto) {
        if (StringUtils.isBlank(mediaphoto.getId())) {
            mediaphoto.setId(IdGen.uuid());
        }
        mediaphoto.setCreateTime(new Date());
        mediaphoto.setFileSize(fileService.formatFileSize(mediaphoto.getFileName()));
        int i = mediaphotoMapper.insertMediaphoto(mediaphoto);
        searchService.UpdateResourceEs(mediaphoto.getDocumentId());
        return i;
    }

3.效果图

转载于:https://www.cnblogs.com/zhukaixin/p/10691305.html

Java实现字节数B转化KBMBGB的方法示例【测试可用】 主要介绍了Java实现字节数B转化KBMBGB的方法,结合实例形式分析了java字节数的转换运算相关操作技巧,需要的朋友可以参考下 立即下载

相关推荐

Anaconda离线创建python环境

既然是离线创建python环境,就需要有一个已经创建好的python环境。所以我们有两台win10的机器,分别是A和B。两台机器都安装了anaconda。其中A可以连网,因此我们在A上创建好一个python2.7的环境py27,然后将py27移植(安装)到B上。B连不连网都无所谓。 一、机器上A上创建python2.7的环境py27 有两种方法: 方法1:使用Anaconda的图形界面。首先,点击Environments->Create,然后输入要创建的环境名称"py27",然后选择2.7,如图

FY_2018的博客 6763

Java 实现读取出来的文件大小变成KB,MB,TB,PB大小,或者将大单位变成KB

java

一天不写代码难受的博客 1965

115.工业相机海康SDK开发指南(阅读)

包含初始化SDK和反初始化SDK接口。(由于看不到函数内部的具体实现,因此以下的解释仅代表个人的理解)

weixin_63779802的博客 5942

JAVA将字节大小转换成(B,KB,MB,GB,TB)单位

项目中需要判断一个文件是否超过指定大小,如果超过了,需要将文件大小转换为最大满足单位。

涛哥是个大帅比 5030

Java中 字节转 KB/MB/GB

字节转 KB/MB/GB 保留两位小数四舍五入 public static String getFileSize(String size) { double length = Double.parseDouble(size); //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (length < 1024) { return length + "B"; } else

m0_57119230的博客 5703

JAVA 获取文件字节大小转换kb、M、G 等单元 工具类

https://www.jianshu.com/p/4610944ee9be public static String readableFileSize(long size) { if (size &lt;= 0) return "0"; final String[] units = new String[]{"B", "KB", "MB", "GB", "TB"}; int d

JavaNotes的博客 1万+

Java文件大小转换的两种方式

文件字节转换

qq_43108153的博客 1814

java b kb mb gb 转换_java 上传文件大小转换GB/MB/KB/B

1.工具类package cn.cmodes.common.utils;import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;public classFileSizeUtil {private static final String TAG=FileSizeUtil.class.getSi...

weixin_33795883的博客 310

java获取上传文件的大小_java 上传文件大小转换GB/MB/KB/B

1.工具类package cn.cmodes.common.utils;import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;public classFileSizeUtil {private static final String TAG=FileSizeUtil.class.getSi...

weixin_34079307的博客 2299

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

1.工具类package cn.cmodes.common.utils;import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;public class FileSizeUtil {private static final String TAG=FileSizeUtil.class.getS...

weixin_39930276的博客 913

java b换算为kb_java 上传文件大小转换GB/MB/KB/B

1.工具类package cn.cmodes.common.utils;import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;public classFileSizeUtil {private static final String TAG=FileSizeUtil.class.getSi...

weixin_31004409的博客 319

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

使用以下方法 public String getPrintSize(long size) { //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (size < 1024) { return String.valueOf(size) + "B"; } else { size = size / 1024; }

见证自己学习,成长的记录 2521

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

1.工具类package cn.cmodes.common.utils;import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;public classFileSizeUtil {private static final String TAG=FileSizeUtil.class.getSi...

weixin_31099497的博客 179

java byte转文件大小_java上传文件大小转换(字节转kb/mb/gb

/*** 字节转kb/mb/gb* @param size* @return*/public String getPrintSize(long size) {//如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义if (size < 1024) {return String.valueOf(size) + "B";} else {size = size / 1...

weixin_33917663的博客 3127

java上传文件大小转换(字节转kb/mb/gb

/** * 字节转kb/mb/gb * @param size * @return */ public String getPrintSize(long size) { //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (size &lt...

weixin_34326179的博客 2298

Java实现数据大小转换(B-KB-MB-GB

Java实现数据大小转换(B-KB-MB-GB) public class ByteChange { /** * 传入一个字符串类型的数字大小,实现文件大小转化,如 B - KB - MB - GB * @param o * @return */ public static String getSize(String o){ ...

HeiYanMin的博客 2711

java b kb mb gb 转换_【Java】把字节数B转化KBMBGB的方法

在文件处理的系统中,很容易就能通过一些系统自带的方法取出其大小,问题是这个大小往往只是一个字节数B。如果要把这个字节数转化KBMBGB的最终呈现给用户,则涉及到整除与取余的算术运算。方法如下:public static String getPrintSize(long size) {//如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义if (size <...

weixin_28710999的博客 1521

JS 和 java 格式化文件大小 单位:Bytes、KBMBGB...

目录 输入一个表示文件大小的数字,自适应转换KB,MB,GB 1、JS格式化文件大小 方法一:bytes自适应转换KB,MB,GB 方法二:bytes自适应转换KB,MB,GB 方法三:可以设定输入的文件长度的参数的原始单位,自适应转换KB,MB,GB 2、 java格式化文件大小 输入一个表示文件大小的数字,自适应转换KB,MB,GB ...

weixin_43240792的博客 1398

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

今天产品提出来一个需求,上传文件的时候要记录文件的大小,并且保存到数据库里面。正好借着这个机会,分享下对文件大小进行单位转化的一个方法。

见证自己学习,成长的记录 8283
上一篇: elasticsearch kibana简单查询
下一篇: springmvc 运行原理 Spring ioc的实现原理 Mybatis工作流程 spring AOP实现原理
aocheqing0591
博客等级 码龄10年 5粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值