这是将字节转换为人类可读格式的代码,
public static String humanReadableByteCount(long bytes, boolean si) {
int unit = si ? 1000 : 1024;
if (bytes < unit) return bytes + " B";
int exp = (int) (Math.log(bytes) / Math.log(unit));
String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i");
return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
}
问题是这不适用于GWT并抛出:
[INFO] [ERROR] Line 20: The method format(String, double, String) is undefined for the type String
是否可以通过此方式或其他方式解决此问题?
注意该方法是在GWT客户端代码中。