| | |
| | | import java.text.Format; |
| | | import java.text.ParsePosition; |
| | | |
| | | /** |
| | | * ByteFormat is a formatter which takes numbers and returns filesizes in bytes, |
| | | * kilobytes, megabytes, or gigabytes. |
| | | * |
| | | * @author James Moger |
| | | * |
| | | */ |
| | | public class ByteFormat extends Format { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | } |
| | | |
| | | public String format(long value) { |
| | | return format(new Long(value)); |
| | | return format(Long.valueOf(value)); |
| | | } |
| | | |
| | | public StringBuffer format(Object obj, StringBuffer buf, FieldPosition pos) { |
| | |
| | | DecimalFormat formatter = new DecimalFormat("#,##0"); |
| | | buf.append(formatter.format((double) numBytes)).append(" b"); |
| | | } else if (numBytes < 1024 * 1024) { |
| | | DecimalFormat formatter = new DecimalFormat("#,##0.0"); |
| | | DecimalFormat formatter = new DecimalFormat("#,##0"); |
| | | buf.append(formatter.format((double) numBytes / 1024.0)).append(" KB"); |
| | | } else if (numBytes < 1024 * 1024 * 1024) { |
| | | DecimalFormat formatter = new DecimalFormat("#,##0.0"); |