- 浏览: 501956 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1502/** * httpclient4.5.2版 * ... -
HTTP 返回码
2019-01-24 15:28 385HTTP1.1新增了五种请求方法:OPTIONS、PUT、PA ... -
java常规格式化说明
2016-01-20 17:27 1340转 换 符说 明 ... -
java验证是否包含特殊字符/\:*?"<>
2016-01-05 15:25 8726public class MatchTest { ... -
JSP和JSTL获取服务器参数
2015-09-11 13:57 1161<%@ page language="java ... -
java计算时间差比较时间大小
2015-05-20 10:53 1062今天需要比较时间在网上找到然后写下: 比如:现在是:200 ... -
java发邮件
2014-11-19 15:37 1168一、 import java.util.Date; im ... -
java log4j.properties
2014-11-18 09:30 870log4j.properties配置文件如下: log4j ... -
java获得ip地址
2014-11-17 18:18 1279public String getIpAddr(Htt ... -
java下载文件
2014-11-07 10:57 1041// 文件名称中文乱码new String(filename. ... -
Android中RelativeLayout各个属性的含义
2014-10-11 15:06 835android:layout_above="@id ... -
Http发送请求
2014-09-17 15:01 852package wzh.Http; import j ... -
导出数据到excel
2014-09-03 16:20 1182/** * */ package com.chin ... -
Spring MVC @RequestBody接收JSON报HTTP 415/400问题的解决
2014-08-27 13:06 3765Ajax请求传@RequestBody(接收JSON)参数时, ... -
动态创建和修改Spring的bean配置文件
2014-08-06 18:23 43461、如果只是创建一个XML文件,那么只需要导入dom4j-1. ... -
request获取各种路径
2014-08-06 17:06 912从request获取各种路径总结 request.getRea ... -
Linux下设置开机自启动tomcat
2014-07-23 11:51 1896centos7 设置tomcat开机自启动 在tomcat/ ... -
Linux 设置环境变量JAVA_HOME ,鼠标右键打开终端,修改hostname
2014-07-03 14:21 1726一、ubuntu永久修改主机名 1、查看主机名 在Ubunt ... -
keytool生成证书与Tomcat SSL配置
2014-07-02 17:03 18107一、Keytool介绍 Keytool是一个Java数据证书 ... -
Map的几种循环方式
2013-09-12 15:38 1492for(String dataKey : paraMap.ke ...
相关推荐
java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换) java 硬盘大小转换 数据转换 内存转换 存储大小转换
主要介绍了Java实现字节数B转化为KB、MB、GB的方法,结合实例形式分析了java字节数的转换运算相关操作技巧,需要的朋友可以参考下
易语言-文件大小转换源码 字节转换成KB/MB/GB
数据单位KB、MB、GB、TB等简介
前面介绍了java实现字节数Byte转换为KB、MB、GB、TB的方法 ,这里改用PHP实现这一功能。代码非常简单: <?php function getFilesize($num){ $p = 0; $format='bytes'; if($num>0 && $num<1024 xss=removed>=...
主要介绍了PHP实现字节数Byte转换为KB、MB、GB、TB的方法,结合实例形式分析了php针对字节数Byte的换算操作具体实现方法,涉及php数学运算相关函数的使用,需要的朋友可以参考下
计算机存储信息的大小 TB、GB、MB、KB
jquery_bytes 从/到字节的转换(TB、GB、MB 和字节)
从Byte、KB、MB、GB、TB到PB、EB、ZB、YB.docx
基于上转换绿光增强的的Yb3+-Tb3+共掺高硅氧玻璃,褚应波,杨雨,本文报道了一种发543nm绿光的高硅氧玻璃,它是通过烧结Yb3+/Tb3+共掺纳米级多孔玻璃的方法制备。光谱分析表明,Yb3+向Tb3+存在能量传递�
java字节转为‘KB’、‘MB’、‘GB’、‘TB’(无字节长度限制,可超出long类型) 此工具类可以将电脑内存储的字节数字转为‘KB’、‘MB’、‘GB’、‘TB’,无数字大小限制,可随意转换
TB6612原理图TB6612原理图
希捷3TB 硬盘使用指南 – 适用于所有希捷>2.2TB产品 容量大于2.2TB的硬盘在使用时,经常会遇到容量无法正确识别,或者无法安装操作系统的问题。 问题的根源: 1. 操作系统(Win XP 还是Win 7等) 2. 硬盘的分区...
TB6612电机驱动模块TB6612驱动板ALTIUM设计硬件原理图PCB+3D集成封装库,硬件2层板设计,大小为18mmx18mm,ALTIUM设计的工程文件,包括完整的原图、PCB、3D封装库文件,已制板测试验证,可以做为你的设计参考。...
B27A_Fortis_Flash_512Gb_1Tb_2Tb_4Tb_Async_Sync_NAND_Datasheet
对应的交易策略以及相应的学习,全部是源码
以字节为单位获取文件大小KB MB GB TB 文件序列化示例 如何用Java将对象写入文件 如何从文件读取对象 文件压缩示例 用Java压缩ZIP格式的文件 从Java中的ZIP文件解压缩文件 目录 目录操作示例列表。 获取当前工作...
TB6612应用实例,不错的电路设计参考资料
java_ssm_tb_vaccine对照编码【登记系统】
Java_SSM_tb_community对照编码(全部源码)