2009-10-05 63 views
3

如何格式化文本字符串,如givenname,surname,telephone等,使其看起來像列一樣?Java文本格式

這不會做它:

String customer = "\t"+surname+"\t"+givenname+"\t"+blablabla

回答

8

String.format()參見文檔。使用每列可以加上的最大長度加上1.

+1

或者使用更簡單的版本[String.format(String,Object ...)](http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#格式%28java.lang.String,%20java.lang.Object ...%29) – Alex 2013-01-08 14:52:33

2

使用製表符的問題在於它們的寬度取決於您用於顯示的控制檯的設置,這意味着您無法保證所有列將使用這種方法排隊。

假設您使用等寬字體將文本格式化爲控制檯,可以使用單個空格字符來填充每個字符串。要做到這一點,您需要知道給定列的每個字符串字段的最大長度。

2

野外野外網絡中有一些庫可以爲你做到這一點 - 一般的限制是它通常會使用等寬字體(如Courier)。其中一個圖書館是iNamik Text Table Formatter for Java,但如果您使用谷歌尋找java text table,您會發現更多。