import java.util.*; import java.text.*; public class RightFormat extends java.text.Format { private int size; private char pad; public RightFormat(int fieldsize, char padchar) { if (fieldsize <= 1) throw new IllegalArgumentException("fieldsize must be > 1"); size = fieldsize; pad = padchar; } public RightFormat(int fieldsize) { this(fieldsize, ' '); } public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) { String val; int ix; val = obj.toString(); for(ix = size; ix > val.length(); ix--) toAppendTo.append(pad); toAppendTo.append(val); return toAppendTo; } public Object parseObject(String source, ParsePosition status) { int start, end, ix; String ret = ""; end = status.getIndex() + size; start = status.getIndex(); for(ix = start; ix < end; ix++) { if (source.charAt(ix) != pad) break; } if (ix < end) { ret = source.substring(ix, end); } status.setIndex(end); return ret; } }