- 浏览: 510075 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (156)
- xml (4)
- web前端 (24)
- jQuery (18)
- java (38)
- SQL (9)
- perl (2)
- OTRS (1)
- GWT (4)
- Linux (32)
- Maven (2)
- Spring (2)
- Oracle Win7 (1)
- css (8)
- eclipse (3)
- mysql (11)
- tomcat (5)
- git (4)
- javascript (22)
- font (1)
- android (1)
- log4j (1)
- email (1)
- sublime plugin (1)
- html (2)
- matches (1)
- php (3)
- apache (3)
- gd (1)
- docker (5)
- rails (1)
- RabbitMQ (1)
- Ubuntu (3)
- L2TP VPN (1)
- nodejs (1)
- oraclejet (1)
- ubutun (1)
- ntp (1)
- ngix (1)
- ssl (1)
- https (1)
- Linux,Debian (2)
- dpkg (1)
- pac (1)
- vi (1)
- vim (1)
- java,http (0)
- httpClient (0)
- shutter (1)
- shell (1)
- redmine (1)
最新评论
-
纵观全局:
配置之后,连接显示不是私密连接
keytool生成证书与Tomcat SSL配置 -
zhuchao_ko:
可以 伪造
java获得ip地址 -
longhua2003:
代码太乱了
java下载文件 -
tomhat:
ccx410 写道 安装gwt报错,unable to ret ...
GWT CellTable -
ccx410:
安装gwt报错,unable to retrieve osgi ...
GWT CellTable
public class TestSizeToHuman { public static void main(String[] args) { String str=MyCommonTool.readableFileSize(123456); System.out.println("str="+str); String line=org.apache.commons.io.FileUtils.byteCountToDisplaySize(123456); System.out.println("line="+line); ByteSizeValue byteSizeValue=new ByteSizeValue(123456, ByteSizeUnit.BYTES); System.out.println("byteSizeValue="+byteSizeValue.getKbFrac()+" KB"); System.out.println("byteSizeValue="+byteSizeValue.getMbFrac()+" MB"); } }
import java.text.DecimalFormat; public class MyCommonTool { 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("#,##0.#").format(size / Math.pow(1024, digitGroups)) + " " + units[digitGroups]; } }
import java.io.Serializable; import java.util.Locale; public class ByteSizeValue implements Serializable { private long size; private ByteSizeUnit sizeUnit; private ByteSizeValue() { } public ByteSizeValue(long bytes) { this(bytes, ByteSizeUnit.BYTES); } public ByteSizeValue(long size, ByteSizeUnit sizeUnit) { this.size = size; this.sizeUnit = sizeUnit; } public int bytesAsInt() throws Exception { long bytes = bytes(); if (bytes > Integer.MAX_VALUE) { throw new Exception("size [" + toString() + "] is bigger than max int"); } return (int) bytes; } public long bytes() { return sizeUnit.toBytes(size); } public long getBytes() { return bytes(); } public long kb() { return sizeUnit.toKB(size); } public long getKb() { return kb(); } public long mb() { return sizeUnit.toMB(size); } public long getMb() { return mb(); } public long gb() { return sizeUnit.toGB(size); } public long getGb() { return gb(); } public long tb() { return sizeUnit.toTB(size); } public long getTb() { return tb(); } public long pb() { return sizeUnit.toPB(size); } public long getPb() { return pb(); } public double kbFrac() { return ((double) bytes()) / ByteSizeUnit.C1; } public double getKbFrac() { return kbFrac(); } public double mbFrac() { return ((double) bytes()) / ByteSizeUnit.C2; } public double getMbFrac() { return mbFrac(); } public double gbFrac() { return ((double) bytes()) / ByteSizeUnit.C3; } public double getGbFrac() { return gbFrac(); } public double tbFrac() { return ((double) bytes()) / ByteSizeUnit.C4; } public double getTbFrac() { return tbFrac(); } public double pbFrac() { return ((double) bytes()) / ByteSizeUnit.C5; } public double getPbFrac() { return pbFrac(); } /** * Format the double value with a single decimal points, trimming trailing '.0'. */ public static String format1Decimals(double value, String suffix) { String p = String.valueOf(value); int ix = p.indexOf('.') + 1; int ex = p.indexOf('E'); char fraction = p.charAt(ix); if (fraction == '0') { if (ex != -1) { return p.substring(0, ix - 1) + p.substring(ex) + suffix; } else { return p.substring(0, ix - 1) + suffix; } } else { if (ex != -1) { return p.substring(0, ix) + fraction + p.substring(ex) + suffix; } else { return p.substring(0, ix) + fraction + suffix; } } } @Override public String toString() { long bytes = bytes(); double value = bytes; String suffix = "b"; if (bytes >= ByteSizeUnit.C5) { value = pbFrac(); suffix = "pb"; } else if (bytes >= ByteSizeUnit.C4) { value = tbFrac(); suffix = "tb"; } else if (bytes >= ByteSizeUnit.C3) { value = gbFrac(); suffix = "gb"; } else if (bytes >= ByteSizeUnit.C2) { value = mbFrac(); suffix = "mb"; } else if (bytes >= ByteSizeUnit.C1) { value = kbFrac(); suffix = "kb"; } return format1Decimals(value, suffix); } public static ByteSizeValue parseBytesSizeValue(String sValue) throws Exception { return parseBytesSizeValue(sValue, null); } public static ByteSizeValue parseBytesSizeValue(String sValue, ByteSizeValue defaultValue) throws Exception { if (sValue == null) { return defaultValue; } long bytes; try { String lastTwoChars = sValue.substring(sValue.length() - Math.min(2, sValue.length())).toLowerCase(Locale.ROOT); if (lastTwoChars.endsWith("k")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * ByteSizeUnit.C1); } else if (lastTwoChars.endsWith("kb")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 2)) * ByteSizeUnit.C1); } else if (lastTwoChars.endsWith("m")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * ByteSizeUnit.C2); } else if (lastTwoChars.endsWith("mb")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 2)) * ByteSizeUnit.C2); } else if (lastTwoChars.endsWith("g")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * ByteSizeUnit.C3); } else if (lastTwoChars.endsWith("gb")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 2)) * ByteSizeUnit.C3); } else if (lastTwoChars.endsWith("t")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * ByteSizeUnit.C4); } else if (lastTwoChars.endsWith("tb")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 2)) * ByteSizeUnit.C4); } else if (lastTwoChars.endsWith("p")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 1)) * ByteSizeUnit.C5); } else if (lastTwoChars.endsWith("pb")) { bytes = (long) (Double.parseDouble(sValue.substring(0, sValue.length() - 2)) * ByteSizeUnit.C5); } else if (lastTwoChars.endsWith("b")) { bytes = Long.parseLong(sValue.substring(0, sValue.length() - 1)); } else { bytes = Long.parseLong(sValue); } } catch (NumberFormatException e) { throw new Exception("Failed to parse [" + sValue + "]", e); } return new ByteSizeValue(bytes, ByteSizeUnit.BYTES); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ByteSizeValue sizeValue = (ByteSizeValue) o; if (size != sizeValue.size) return false; if (sizeUnit != sizeValue.sizeUnit) return false; return true; } @Override public int hashCode() { int result = (int) (size ^ (size >>> 32)); result = 31 * result + (sizeUnit != null ? sizeUnit.hashCode() : 0); return result; } }
public enum ByteSizeUnit { BYTES { @Override public long toBytes(long size) { return size; } @Override public long toKB(long size) { return size / (C1 / C0); } @Override public long toMB(long size) { return size / (C2 / C0); } @Override public long toGB(long size) { return size / (C3 / C0); } @Override public long toTB(long size) { return size / (C4 / C0); } @Override public long toPB(long size) { return size / (C5 / C0); } }, KB { @Override public long toBytes(long size) { return x(size, C1 / C0, MAX / (C1 / C0)); } @Override public long toKB(long size) { return size; } @Override public long toMB(long size) { return size / (C2 / C1); } @Override public long toGB(long size) { return size / (C3 / C1); } @Override public long toTB(long size) { return size / (C4 / C1); } @Override public long toPB(long size) { return size / (C5 / C1); } }, MB { @Override public long toBytes(long size) { return x(size, C2 / C0, MAX / (C2 / C0)); } @Override public long toKB(long size) { return x(size, C2 / C1, MAX / (C2 / C1)); } @Override public long toMB(long size) { return size; } @Override public long toGB(long size) { return size / (C3 / C2); } @Override public long toTB(long size) { return size / (C4 / C2); } @Override public long toPB(long size) { return size / (C5 / C2); } }, GB { @Override public long toBytes(long size) { return x(size, C3 / C0, MAX / (C3 / C0)); } @Override public long toKB(long size) { return x(size, C3 / C1, MAX / (C3 / C1)); } @Override public long toMB(long size) { return x(size, C3 / C2, MAX / (C3 / C2)); } @Override public long toGB(long size) { return size; } @Override public long toTB(long size) { return size / (C4 / C3); } @Override public long toPB(long size) { return size / (C5 / C3); } }, TB { @Override public long toBytes(long size) { return x(size, C4 / C0, MAX / (C4 / C0)); } @Override public long toKB(long size) { return x(size, C4 / C1, MAX / (C4 / C1)); } @Override public long toMB(long size) { return x(size, C4 / C2, MAX / (C4 / C2)); } @Override public long toGB(long size) { return x(size, C4 / C3, MAX / (C4 / C3)); } @Override public long toTB(long size) { return size; } @Override public long toPB(long size) { return size / (C5 / C4); } }, PB { @Override public long toBytes(long size) { return x(size, C5 / C0, MAX / (C5 / C0)); } @Override public long toKB(long size) { return x(size, C5 / C1, MAX / (C5 / C1)); } @Override public long toMB(long size) { return x(size, C5 / C2, MAX / (C5 / C2)); } @Override public long toGB(long size) { return x(size, C5 / C3, MAX / (C5 / C3)); } @Override public long toTB(long size) { return x(size, C5 / C4, MAX / (C5 / C4)); } @Override public long toPB(long size) { return size; } }; static final long C0 = 1L; static final long C1 = C0 * 1024L; static final long C2 = C1 * 1024L; static final long C3 = C2 * 1024L; static final long C4 = C3 * 1024L; static final long C5 = C4 * 1024L; static final long MAX = Long.MAX_VALUE; /** * Scale d by m, checking for overflow. * This has a short name to make above code more readable. */ static long x(long d, long m, long over) { if (d > over) return Long.MAX_VALUE; if (d < -over) return Long.MIN_VALUE; return d * m; } public abstract long toBytes(long size); public abstract long toKB(long size); public abstract long toMB(long size); public abstract long toGB(long size); public abstract long toTB(long size); public abstract long toPB(long size); }
转自:http://blog.csdn.net/earbao/article/details/50037319
发表评论
-
Apache HTTPClient 忽略证书
2019-01-25 15:03 1613/** * httpclient4.5.2版 * ... -
HTTP 返回码
2019-01-24 15:28 427HTTP1.1新增了五种请求方法:OPTIONS、PUT、PA ... -
java常规格式化说明
2016-01-20 17:27 1384转 换 符说 明 ... -
java验证是否包含特殊字符/\:*?"<>
2016-01-05 15:25 8767public class MatchTest { ... -
JSP和JSTL获取服务器参数
2015-09-11 13:57 1200<%@ page language="java ... -
java计算时间差比较时间大小
2015-05-20 10:53 1121今天需要比较时间在网上找到然后写下: 比如:现在是:200 ... -
java发邮件
2014-11-19 15:37 1237一、 import java.util.Date; im ... -
java log4j.properties
2014-11-18 09:30 922log4j.properties配置文件如下: log4j ... -
java获得ip地址
2014-11-17 18:18 1330public String getIpAddr(Htt ... -
java下载文件
2014-11-07 10:57 1100// 文件名称中文乱码new String(filename. ... -
Android中RelativeLayout各个属性的含义
2014-10-11 15:06 877android:layout_above="@id ... -
Http发送请求
2014-09-17 15:01 902package wzh.Http; import j ... -
导出数据到excel
2014-09-03 16:20 1224/** * */ package com.chin ... -
Spring MVC @RequestBody接收JSON报HTTP 415/400问题的解决
2014-08-27 13:06 3811Ajax请求传@RequestBody(接收JSON)参数时, ... -
动态创建和修改Spring的bean配置文件
2014-08-06 18:23 43871、如果只是创建一个XML文件,那么只需要导入dom4j-1. ... -
request获取各种路径
2014-08-06 17:06 951从request获取各种路径总结 request.getRea ... -
Linux下设置开机自启动tomcat
2014-07-23 11:51 1955centos7 设置tomcat开机自启动 在tomcat/ ... -
Linux 设置环境变量JAVA_HOME ,鼠标右键打开终端,修改hostname
2014-07-03 14:21 1774一、ubuntu永久修改主机名 1、查看主机名 在Ubunt ... -
keytool生成证书与Tomcat SSL配置
2014-07-02 17:03 18175一、Keytool介绍 Keytool是一个Java数据证书 ... -
Map的几种循环方式
2013-09-12 15:38 1558for(String dataKey : paraMap.ke ...
相关推荐
java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换) java 硬盘大小转换 数据转换 内存转换 存储大小转换
Java是一种广泛使用的编程语言,在文件处理系统中,经常需要将字节数B转化为KB、MB、GB等单位,以便更好地呈现给用户。下面将详细介绍Java实现字节数B转化为KB、MB、GB的方法。 1. 字节数B转化为KB 在文件处理系统...
这段代码展示了如何根据文件的字节数,通过条件判断和数学运算,将文件大小转换为KB、MB或GB,并用易语言的内置函数打印出来。这样的程序对于处理文件操作、文件系统交互或任何需要展示文件大小信息的应用场景都十分...
前面介绍了java实现字节数Byte转换为KB、MB、GB、TB的方法 ,这里改用PHP实现这一功能。代码非常简单: <?php function getFilesize($num){ $p = 0; $format='bytes'; if($num>0 && $num<1024 xss=removed>=...
在IT领域,我们经常需要处理各种文件,而文件的大小通常用字节(Byte)来衡量,但在实际操作中,为了方便理解和展示,我们会将字节转换为更易读的单位,如千字节(KB)、兆字节(MB)或吉字节(GB)。在易语言中,...
数据单位KB、MB、GB、TB等简介
本篇文章将详细介绍如何将B(字节)转换为GB(吉字节)、MB(兆字节)和KB(千字节),并提供一个程序示例供参考。 首先,了解它们之间的关系是基础。1个字节(B)等于8位(bit),而更大的单位则基于1024的倍数关系: ...
以下是关于TB、GB、MB、KB等存储单位的详细解释: 1. 字节(Byte):字节是最基本的存储单位,通常一个英文字符占用1个字节,而一个汉字通常占用2个字节。字节由8位二进制位(bit)组成。 2. 千字节(KB,Kilobyte...
本篇文章将深入探讨JavaScript中的数据大小单位转换,特别是如何利用jQuery扩展库`jquery_bytes`来实现从TB(太字节)、GB(吉字节)、MB(兆字节)到字节以及反向转换的功能。 `jQuery`是一个广泛使用的JavaScript...
在编程领域,尤其是在处理文件大小或内存占用时,经常需要进行单位转换,例如将字节(B)转换为千字节(KB),兆字节(MB)或者吉字节(GB)。C#作为.NET框架的主要编程语言,提供了丰富的数学运算支持,使得这种转换变得...
可以编写一个辅助函数,将字节数转换为更易读的MB、GB或TB。 ```java public static String convertBytesToHumanReadable(long bytes) { final int BYTES_IN_KB = 1024; final int BYTES_IN_MB = BYTES_IN_KB * ...
例如,假设我们需要将一个文件的大小从 MB 转换为 KB,我们可以按照以下公式进行计算: 1 MB = 1024 KB 那么,如果我们需要将一个文件的大小从 GB 转换为 MB,我们可以按照以下公式进行计算: 1 GB = 1024 MB 在...
一个字节(byte)等于8个位,1KB等于1024B,1MB等于1024KB,1GB等于1024MB,1TB等于1024GB。 二、进制数的表示法 进制数有四种基本表示法:二进制、八进制、十进制、十六进制。每种进制数都有其特定的表示法和规则...
主要介绍了PHP实现字节数Byte转换为KB、MB、GB、TB的方法,结合实例形式分析了php针对字节数Byte的换算操作具体实现方法,涉及php数学运算相关函数的使用,需要的朋友可以参考下
KB,MB,GB,TB,PB,EB,ZB,YB.pdf
### Java面试题:行列转换详解 #### 一、问题背景 在进行数据分析或者报表处理时,经常需要将数据从一种格式转换成另一种格式以便更好地展示或分析。其中一种常见的转换需求是从行转列(即行列转换)。本篇文章将...
这些单位包括千字节(KB)、兆字节(MB)、吉字节(GB),甚至可能扩展到更大如太字节(TB)、拍字节(PB)等。了解和掌握这种转换对于理解计算机存储系统以及优化资源使用至关重要。 首先,我们从基础单位开始。1字节(Byte)...
在IT行业中,尤其是在软件开发领域,我们经常需要处理各种数据大小,这可能涉及到字节、KB、MB、GB等单位的转换。`pretty-bytes`是一个非常实用的工具,它能够将字节值转换为更易于人类理解的字符串格式,如在标题中...
- 在Java中调用FFmpeg进行转码,需要使用命令行接口或者Java的FFmpeg库(如JAVE、Xuggler等)来执行转换操作,将上传的视频转码为FLV格式,因为Flash播放器支持此格式。 4. **视频关键帧抽图**: - 从视频中抽取...
二进制与十进制转换PPT学习教案 一、十进制系统 十进制系统是一种基于10的...本PPT学习教案总结了十进制与二进制的概念、进制转换的方法、数据存储单位等基础知识,为学习计算机科学的学生提供了有价值的参考资料。