java 如何把byte轉化為KB、MB、GB的方法
更新時間:2022年10月08日 09:13:07 作者:三少爺的鞋
這篇文章主要介紹了java 如何把byte轉化為KB、MB、GB的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
java把byte轉化為KB、MB、GB的方法
從服務器下載一個文件時候,往往告訴你的是相應的KB,MB,GB。
方法如下
public static String getNetFileSizeDescription(long size) { StringBuffer bytes = new StringBuffer(); DecimalFormat format = new DecimalFormat("###.0"); if (size >= 1024 * 1024 * 1024) { double i = (size / (1024.0 * 1024.0 * 1024.0)); bytes.append(format.format(i)).append("GB"); } else if (size >= 1024 * 1024) { double i = (size / (1024.0 * 1024.0)); bytes.append(format.format(i)).append("MB"); } else if (size >= 1024) { double i = (size / (1024.0)); bytes.append(format.format(i)).append("KB"); } else if (size < 1024) { if (size <= 0) { bytes.append("0B"); } else { bytes.append((int) size).append("B"); } } return bytes.toString(); }
這里用到了這個類:
DecimalFormat
java字節(jié)轉換成MB,GB,TB和MB,GB,TB轉成字節(jié)的工具類
import java.math.BigDecimal; public class ByteUtil { public static final Integer KB_SIZE = 2 << 9; public static final Integer MB_SIZE = 2 << 19; public static final Integer GB_SIZE = 2 << 29; public static BigDecimal bytes2Unit(long bytes, Integer unit) { BigDecimal size = new BigDecimal(bytes); BigDecimal u = new BigDecimal(unit); return size.divide(u, 2, BigDecimal.ROUND_DOWN); } public static Long unit2Byte(BigDecimal decimal,Integer unit) { return decimal.multiply(BigDecimal.valueOf(unit)).longValue(); } public static Long kb2Byte(BigDecimal decimal) { return decimal.multiply(BigDecimal.valueOf(KB_SIZE)).longValue(); } public static Long mb2Byte(BigDecimal decimal) { return decimal.multiply(BigDecimal.valueOf(MB_SIZE)).longValue(); } public static Long gb2Byte(BigDecimal decimal) { return decimal.multiply(BigDecimal.valueOf(GB_SIZE)).longValue(); } public static BigDecimal bytes2Kb(long bytes) { return bytes2Unit(bytes,KB_SIZE); } public static BigDecimal bytes2Mb(long bytes) { return bytes2Unit(bytes,MB_SIZE); } public static BigDecimal bytes2Gb(long bytes) { return bytes2Unit(bytes,GB_SIZE); } }
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
spring?boot+mybatis-plus配置讀寫分離的操作
這篇文章主要介紹了spring?boot+mybatis-plus配置讀寫分離的操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項目的操作過程
這篇文章主要介紹了Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項目,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03java?stream實現分組BigDecimal求和以及自定義分組求和
這篇文章主要給大家介紹了關于java?stream實現分組BigDecimal求和以及自定義分組求和的相關資料,Stream是Java8的一大亮點,是對容器對象功能的增強,它專注于對容器對象進行各種非常便利、高效的聚合操作或者大批量數據操作,需要的朋友可以參考下2023-12-12關于SpringBoot+Mybatis報MapperScan.factoryBean()問題
解決SpringBoot+Mybatis中的MapperScan.factoryBean()問題,讓你的項目運行更順暢!本指南將帶你一步步解決這個問題,讓你的開發(fā)過程更加高效,不要錯過這個實用指南,快來一探究竟吧!2024-02-02