Hi I have a bunch of data Im writing to a text file, each line of the rows holds about 4 different pieces of data, I want to make it so that each type is data is aligned in rows.
Here is the line that writes the data.
output.write(aName + " " + aObjRef + " " + aValue + " " + strDate + " " + note + (System.getProperty("line.separator")));
Here is how the data looks when written right now.
CR_2900_IPGR_AL 2900.EV2 Alarm 111107
CR_2900_IMPT_AL 2900.EV311 Alarm 111107
CR_STH_CHL_AL 2900.EV315 Alarm 111107
CR_OAT_AL 2900.EV318 Alarm 111107
SLB_102_2270A Temp Event 60215.EV1 Fault 111107
MACF_70300_IMPT_AL 70300.EV2 Alarm 111107
And here is how Id like it to look
CR_2900_IPGR_AL 2900.EV2 Alarm 111107
CR_2900_IMPT_AL 2900.EV311 Alarm 111107
CR_STH_CHL_AL 2900.EV315 Alarm 111107
CR_OAT_AL 2900.EV318 Alarm 111107
SLB_102_2270A Temp Event 60215.EV1 Fault 111107
MACF_70300_IMPT_AL 70300.EV2 Alarm 111107
Have a look at the Formatter
class, or the String.format(String format, Object... args)
method.
Try this for instance:
String formatStr = "%-20s %-15s %-15s %-15s %-15s%n";
output.write(String.format(formatStr, aName, aObjRef, aValue, strDate, note));
(Note that %n
will automatically use the platform-specific line separator.)