0. 知识补充概况

如4.56就是4.6,最后一位小数大于等于6就向前进一位. 
4.54就是4.5,最后一位小数小于等于4,就舍去 
4.45就是4.4 4.55就是4.6最后一位小数是5的时候,当前一位是奇数的时候就进一位凑成偶数,当前一位是偶数的时候就舍去.

不要四舍五入的方法就是:


df.setRoundingMode(RoundingMode.DOWN);

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@Transactionalpublic 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;}

java 上传文件大小转换为 GB/MB/KB/B相关推荐

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

    1.工具类 package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import ja ...

  2. 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 ja ...

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

    1.工具类 package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import ja ...

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

    /** * 字节转kb/mb/gb * @param size * @return */ public String getPrintSize(long size) { //如果字节数少于1024,则 ...

  5. java修改文件的大小限制_Struts2修改上传文件大小限制方法解析

    首先struts上传最大大小由两个地方决定. struts.multipart.maxSize决定整个post的form最大是多大,所以这个限制是最初的.默认大小是接近2M,在struts的defau ...

  6. java云服务器怎么上传文件大小,java云服务器怎么上传文件大小

    java云服务器怎么上传文件大小 内容精选 换一换 SAP S/4HANA实例节点数据磁盘需要进行格式化,并挂载到相应的目录后,才能被正常使用.登录待安装SAP S/4HANA的云服务器"s ...

  7. php获取远程文件大小转mb,php获取文件大小_php获取文件大小并转换gb,mb,kb代码

    摘要 腾兴网为您分享:php获取文件大小并转换gb,mb,kb代码,长沙银行,悦读小说,易码平台,星球联盟等软件知识,以及东方通达信,黑猫影视,theworld浏览器,测距app,创业天下,mount ...

  8. Web.Config文件配置之限制上传文件大小和时间

    在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...

  9. 解决ASP.NET上传文件大小限制

    第一种方法,主要适用于IIS6.0版本 一.修改配置Web.Config文件中的httpRuntime节点 对于asp.net,默认只允许上传4M文件,增加如下配置,一般可以自定义最大文件大小. 一. ...

最新文章

  1. android UI布局
  2. CodeVS 1300 文字排版 线性DP
  3. canvas笔记-canvas适应浏览器(填充整个页面)
  4. 如何把meshlab中的圆环去掉_MeshLab中配准点云
  5. 如何上传文件及文件夹到IPFS
  6. The Future of Compass ElasticSearch
  7. 统计学(检验、分布)的 python(numpy/pandas/scipy) 实现
  8. Http-Only Cookie
  9. java学生签到系统代码_java学生考勤签到代码【相关词_ 学生考勤系统java代码】...
  10. Linux BT下载(2)-B编码和种子文件
  11. 数据结构/排序/归并排序/二路归并排序
  12. ping 端口是否开放(Mac、Linux、Windows系统)
  13. JPA自动生成数据库表教程
  14. Java操作word模板插入图片
  15. matlab突然打不开,点击运行没有任何反应
  16. Peer cert cannot be verified or peer cert invalid 尝试其他镜像。
  17. 傅里叶变换音频可视化_音频可视化中的信号处理方案
  18. 什么是共享办公室,你想知道的都在这
  19. linux系统测试屏幕,RedHat Linux 9.0 操作系统测试题2
  20. 应急管理指挥中心大数据信息化管控平台建设方案

热门文章

  1. c++简单使用boost
  2. 转化iRiver的歌词文件SNC到标准歌词文件lrc的python代码
  3. linux 磁盘性能瓶颈,linux系统性能优化及瓶颈分析
  4. 高德地图线路规划的接入使用(步行-公交-驾车)
  5. NTN(一) 基本架构
  6. 【实习】一面数据是一家怎样的公司?实习六个月的工作感受,知无不言,有问题可以私聊
  7. python爬取南京市房价_python 爬取链家南京的数据
  8. 智工教育:别错过!公务员报名常见问题
  9. .Net WebService基于SoapHeader实现安全认证
  10. 如何让matlab全速运行,提高matlab代码运行效率