2011-09-18 99 views
2

我有一堆我想輸出到一個文件的信息,它需要像桌子一樣安裝。例如,我需要在每列下面有標題和信息的列。Java以表格格式輸出到文件?

我有四個項目正在打印,每個都需要自己的行。下一個%n之前。

我應該使用system.out.format嗎?我應該使用PrintStream類將數據追加到文件嗎?

我想堅持Java的基本實用工具和類。

我希望我的輸出看起來像這樣...

*Title1* *Title2* *Title3* *Title4* *Title5* 
info1  info1  info1  info1  info1 
info2  info2  info2  info2  info2 
....3 

感謝您的幫助!

+2

查找格式化字符串使用的String.format(...)。 [String]的API(http://download.oracle.com/javase/6/docs/api/java/lang/String.html#format(http://download.oracle.com/javase/6/docs) /api/java/lang/String.html#format)和[Formatter](http://download.oracle.com/javase/6/docs/api/java/util/Formatter.html)會給你詳細信息關於如何使用這個。 –

+0

@Hovercraft:應該是一個答案 –

回答

8

您可以使用這樣的代碼:

Formatter fmt = new Formatter(); 

System.out.println(fmt.format("%s %s %s %s %s", "Title*", "Title*", "Title*", "Title*", "Title*")); 

Formatter java doc

它打印其中有20個字符列寬度表

示例代碼:

Formatter formatter = new Formatter(); 
    System.out.println(formatter.format("%20s %20s %20s %20s %20s", "Title*", "Title*", "Title*", "Title*", "Title*")); 

    for (int i = 0; i < 10; i++) { 
     formatter = new Formatter(); 
     String rowData = "info" + i; 
     System.out.println(formatter.format("%20s %20s %20s %20s %20s", rowData, rowData, rowData, rowData, rowData)); 
    } 

用於將數據寫入到你文件可以使用java.io

+0

完美,謝謝@亞歷克斯! – KRB