Perhaps you should be writing this to a html file instead of a txt file. You should then open the HTML file in a browser like Internet explorer or firefox. I dont see how this would work with a txt file (unless you sub class the PrintStream implementation and parse the String to suit your needs).
If you want your columns to line up in a plain text file, you'll need to either write your own code that measures string length and inserts white space where needed or look for a third party formatter than can do this for you.
JDK1.5 and above has printf capability but depending on the container you're using, you may not be able to use 1.5 features from JSP scriptlets (even if you're using the 1.5 JRE. (This is yet another reason to factor non view related code out of your JSPs.)
Since writing to a file with Java is not really JSP specific (other than the scriptlet limitation listed above), I'm going to move this to Java In General (intermediate). Someone there may know of a formatter that can you could use for this. [ December 01, 2006: Message edited by: Ben Souther ]