@Test public void toReadableSize() { Locale.setDefault(Locale.US); assertEquals("1.0000 TB", NumbersUtil.toReadableSize((1024l * 1024l * 1024l * 1024l))); assertEquals("1.00 GB", NumbersUtil.toReadableSize(1024 * 1024 * 1024)); assertEquals("1.00 MB", NumbersUtil.toReadableSize(1024 * 1024)); assertEquals("1.00 KB", NumbersUtil.toReadableSize((1024))); assertEquals("1023 bytes", NumbersUtil.toReadableSize((1023))); }
public static String toReadableSize(final long bytes) { if (bytes < KB && bytes >= 0) { return Long.toString(bytes) + " bytes"; } final StringBuilder builder = new StringBuilder(); final Formatter format = new Formatter(builder, Locale.getDefault()); if (bytes < MB) { format.format("%.2f KB", (float) bytes / (float) KB); } else if (bytes < GB) { format.format("%.2f MB", (float) bytes / (float) MB); } else if (bytes < TB) { format.format("%.2f GB", (float) bytes / (float) GB); } else { format.format("%.4f TB", (float) bytes / (float) TB); } format.close(); return builder.toString(); }
NumbersUtil { public static String toReadableSize(final long bytes) { if (bytes < KB && bytes >= 0) { return Long.toString(bytes) + " bytes"; } final StringBuilder builder = new StringBuilder(); final Formatter format = new Formatter(builder, Locale.getDefault()); if (bytes < MB) { format.format("%.2f KB", (float) bytes / (float) KB); } else if (bytes < GB) { format.format("%.2f MB", (float) bytes / (float) MB); } else if (bytes < TB) { format.format("%.2f GB", (float) bytes / (float) GB); } else { format.format("%.4f TB", (float) bytes / (float) TB); } format.close(); return builder.toString(); } }
NumbersUtil { public static String toReadableSize(final long bytes) { if (bytes < KB && bytes >= 0) { return Long.toString(bytes) + " bytes"; } final StringBuilder builder = new StringBuilder(); final Formatter format = new Formatter(builder, Locale.getDefault()); if (bytes < MB) { format.format("%.2f KB", (float) bytes / (float) KB); } else if (bytes < GB) { format.format("%.2f MB", (float) bytes / (float) MB); } else if (bytes < TB) { format.format("%.2f GB", (float) bytes / (float) GB); } else { format.format("%.4f TB", (float) bytes / (float) TB); } format.close(); return builder.toString(); }  }
NumbersUtil { public static String toReadableSize(final long bytes) { if (bytes < KB && bytes >= 0) { return Long.toString(bytes) + " bytes"; } final StringBuilder builder = new StringBuilder(); final Formatter format = new Formatter(builder, Locale.getDefault()); if (bytes < MB) { format.format("%.2f KB", (float) bytes / (float) KB); } else if (bytes < GB) { format.format("%.2f MB", (float) bytes / (float) MB); } else if (bytes < TB) { format.format("%.2f GB", (float) bytes / (float) GB); } else { format.format("%.4f TB", (float) bytes / (float) TB); } format.close(); return builder.toString(); }  static long parseLong(final String s, final long defaultValue); static int parseInt(final String s, final int defaultValue); static float parseFloat(final String s, final float defaultValue); static long bytesToLong(final byte[] b); static long bytesToLong(final byte[] b, final int pos); static String bytesToString(final byte[] data, final int start, int end); static String toReadableSize(final long bytes); static long parseInterval(final String str, final long defaultValue); static int hash(final long value); }
NumbersUtil { public static String toReadableSize(final long bytes) { if (bytes < KB && bytes >= 0) { return Long.toString(bytes) + " bytes"; } final StringBuilder builder = new StringBuilder(); final Formatter format = new Formatter(builder, Locale.getDefault()); if (bytes < MB) { format.format("%.2f KB", (float) bytes / (float) KB); } else if (bytes < GB) { format.format("%.2f MB", (float) bytes / (float) MB); } else if (bytes < TB) { format.format("%.2f GB", (float) bytes / (float) GB); } else { format.format("%.4f TB", (float) bytes / (float) TB); } format.close(); return builder.toString(); }  static long parseLong(final String s, final long defaultValue); static int parseInt(final String s, final int defaultValue); static float parseFloat(final String s, final float defaultValue); static long bytesToLong(final byte[] b); static long bytesToLong(final byte[] b, final int pos); static String bytesToString(final byte[] data, final int start, int end); static String toReadableSize(final long bytes); static long parseInterval(final String str, final long defaultValue); static int hash(final long value);  }