public static String convertBytes(long bytes) { String[] suffixes = {"B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"}; if (bytes < 1024) return bytes + " " + suffixes[0]; int exp = (int) (Math.log(bytes) / Math.log(1024)); return String.format("%.2f %s", bytes / Math.pow(1024, exp), suffixes[exp]); }