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

这篇具有很好参考价值的文章主要介绍了JAVA将字节大小转换成(B,KB,MB,GB,TB)单位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

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


实现代码:

这里用了两种方式文章来源地址https://www.toymoban.com/news/detail-692774.html

package test;

import java.text.DecimalFormat;

public class Test3 {
	/**
     * 文件大小智能转换
     * 会将文件大小转换为最大满足单位
     * @param size(文件大小,单位为B)
     * @return 文件大小
     */
	public static String formatFileSize(Long size) {
		String sizeName = null;
		if(1024*1024 > size && size >= 1024 ) {
			sizeName = String.format("%.2f",size.doubleValue()/1024) + "KB";
		}else if(1024*1024*1024 > size && size >= 1024*1024 ) {
			sizeName = String.format("%.2f",size.doubleValue()/(1024*1024)) + "MB";
		}else if(size >= 1024*1024*1024 ) {
			sizeName = String.format("%.2f",size.doubleValue()/(1024*1024*1024)) + "GB";
		}else {
			sizeName = size.toString() + "B";
		}
		return sizeName;
	}
	
	/**
     * 文件大小智能转换
     * 会将文件大小转换为最大满足单位
     * @param size(文件大小,单位为B)
     * @return	文件大小
     */
    public static String readableFileSize(long size) {
        if (size <= 0) {
            return "0";
        }
        final String[] units = new String[]{"B", "KB", "MB", "GB", "TB"};
        int digitGroups = (int) (Math.log10(size) / Math.log10(1024));
        return new DecimalFormat("#,###.##").format(size / Math.pow(1024, digitGroups)) + " " + units[digitGroups];
    }
	
	public static void main(String[] args) {
		System.out.println("第一种:");
		System.out.println(formatFileSize(1024L));
		System.out.println(formatFileSize(1048576L));
		
		System.out.println("第二种:");
		System.out.println(readableFileSize(1024L));
		System.out.println(readableFileSize(1048576L));
	}

}

打印结果

第一种:
1.00KB
1.00MB
第二种:
1 KB
1 MB

到了这里,关于JAVA将字节大小转换成(B,KB,MB,GB,TB)单位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    今天产品提出来一个需求,上传文件的时候要记录文件的大小,并且保存到数据库里面。 正好借着这个机会,分享下对文件大小进行单位转化的一个方法。 一般和前后端进行文件交互,都是通过MultipartFile实现的,它有一个方法:getSize() 无需参数,返回的是该文件Long类型的

    2024年02月16日
    浏览(36)
  • 如何压缩jpg图片kb大小?在线图片压缩工具推荐

    如果在编辑文稿的时候,使用太多这些高分辨率的图片,文稿的体积也会变得很大,这样子不仅打开文稿会比较耗时,传输文稿的时候,也不太方便,这时候就需要图片压缩一下,那么如何实现jpg压缩(https://www.yasuotu.com/jpg)呢?下面推荐一个压缩jpg工具,一起来了解一下吧

    2023年04月08日
    浏览(76)
  • pdf怎么调整大小kb?一分钟学会pdf压缩

    PDF是一种常见的文件格式,有时候我们需要将PDF文件的大小进行压缩,以便于传输或存储,那么怎么调整PDF文件的大小呢?接下来就给大家分享几个简单又实用的方法,帮助我们轻松解决PDF文件过大的问题。 方法一:嗨格式压缩大师 这是一款专业的文件压缩工具,支持多种

    2024年02月10日
    浏览(35)
  • 如何对pdf文件大小进行压缩?怎么压缩pdf文件kb?

    PDF资料因为嵌入了太多的图文信息,那么怎么才能压缩pdf文件呢?本篇就来教大家如何轻松完成pdf在线压缩,小伙伴们学会之后,就不用担心因为pdf过大不方便使用了,一起来了解一下pdf压缩(https://www.yasuotu.com/pdfyasuo)的方法吧。 通过浏览器搜索【压缩图】,进入网站后,

    2024年02月11日
    浏览(42)
  • 【论文】模型大小计算方式(或者叫做权重大小/体积?)单位是MB

    搞不懂,论文里面的 模型大小(Modelsize) 到底是啥?感觉各有各的说法 就单纯的网络结构的大小? 那就可以说成是:网络结构定义好了就是一个模型,可用于训练 还是整个权重(网络结构+参数)的大小? 可以说成:整个权重文件包含了网络结构和参数,那么这个训练好的权

    2024年02月05日
    浏览(37)
  • 如何将 Docker 镜像大小从 1.43 GB 减少到 22.4 MB

     如果你正在从事 Web 开发,那么你可能已经了解过容器化的概念以及它的优点。 但是,当使用 Docker 时,镜像大小是一个很大的问题。仅仅是从 create-react-app 中得到的样板项目就通常超过 1.43 GB。 今天我们将会容器化一个 ReactJS 应用程序,并学习一些关于如何减小镜像大小以

    2024年02月05日
    浏览(39)
  • Java获取HTTP网络资源文件大小(带单位)

    通过网络资源地址(http://xxx.xxx),获取该资源大小(带单位)方法如下: 文件大小(我这里是本地Tomcat服务器中的文件,不是本地路径文件) 读取到的文件大小

    2024年03月15日
    浏览(51)
  • [微信小程序踩坑]微信小程序editor富文本组件渲染字符串时,内部图片超出大小导致无法正常渲染或回显(数据传输长度为 3458 KB,存在有性能问题!)

    富文本组件: 回显方法: bug复现: 数据:\\\"p杰佛的撒娇佛是阿达分阶段实施的佛教的撒img src=\\\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/

    2024年02月08日
    浏览(53)
  • 获取文件大小并转换单位

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 此番功能调试基于springboot项目demo,如需搭建springboot请参考: springboot搭建 注:由于

    2024年02月13日
    浏览(55)
  • java的InputStream获取字节大小相关方法

    正常大部分项目都是使用的Spring,而Spring已经帮我们开发好了相应的工具类,我们直接调用即可。 2.1 不推荐理由 可以看一下方法注释: 大致意思是返回的字节数可能由于网络原因阻塞一次只能返回部分字节或者另外一个线程也读了导致返回部分字节,也就是说如果使用av

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包