package org.chartsy.chatsy.chat.util;
import java.text.DecimalFormat;
import java.text.FieldPosition;
import java.text.Format;
import java.text.ParsePosition;
public class ByteFormat extends Format
{
public ByteFormat()
{
}
public String format(long bytes)
{
return super.format(bytes);
}
public String formatKB(long kilobytes)
{
return super.format(kilobytes * 1024);
}
public StringBuffer format(Object obj, StringBuffer buf, FieldPosition pos)
{
if (obj instanceof Long)
{
long numBytes = (Long) obj;
if (numBytes < 1024)
{
DecimalFormat formatter = new DecimalFormat("#,##0");
buf.append(formatter.format((double)numBytes)).append(" bytes");
}
else if (numBytes < 1024 * 1024)
{
DecimalFormat formatter = new DecimalFormat("#,##0.0");
buf.append(formatter.format((double)numBytes / 1024.0)).append(" K");
}
else if (numBytes < 1024 * 1024 * 1024)
{
DecimalFormat formatter = new DecimalFormat("#,##0.0");
buf.append(formatter.format((double)numBytes / (1024.0 * 1024.0))).append(" MB");
}
else
{
DecimalFormat formatter = new DecimalFormat("#,##0.0");
buf.append(formatter.format((double)numBytes / (1024.0 * 1024.0 * 1024.0))).append(" GB");
}
}
return buf;
}
public Object parseObject(String source, ParsePosition pos)
{
return null;
}
}