2010-12-14 69 views
5

Est-ce que quelqu'un connaît une bibliothèque qui transformerait une chaîne [] [] en une table de chaînes comme ci-dessous?Bibliothèque Java pour l'écriture d'une table sur la ligne de commande

 
| title1 | title2 | 
|________|________| 
| blah | blih | 
| blah2 | blih2 | 
etc... 

Je pourrais écrire des chaînes formatées pour cela, mais ce sera un code non générique, lié aux paramètres. Écrire un code générique à cette fin serait plus cher que ce que je suis prêt à investir.

Donc dans l'ensemble, je pense qu'une bibliothèque serait justifiée pour cela.

Une idée si cela existe déjà?

+2

nous pourrions utiliser un csv Format et affichage dans un bureau ouvert ou Excel? – Milhous

+0

Quel est le problème avec 'String.format()'? –

+1

String.format() est bon, il ne donne simplement pas la logique pour calculer la largeur des colonnes ou adapter la table à un nombre différent de colonnes en fonction de l'entrée String [] [] différente. – matthieus

Répondre

5

Selon daniel_or_else dans this fil:

En utilisant j-text-utils vous pouvez imprimer à la console d'une table comme:

_____________________________________________________________ 
| Item Num | Description   | Rating | Cost | Price | 
============================================================= 
| 8675309 | Tommy Tutone Album |  3 | 5.99 | 10.99 | 
| 5619452 | Led Zeppelin Box Set |  5 | 10.42 | 24.95 | 
| 9154732 | Justin Bieber Box Set |  -1 | 0.00 | 0.00 | 

Et aussi simple que:

TextTable tt = new TextTable(columnNames, data); 
tt.printTable(); 
1

Je ne suis pas au courant d'une bibliothèque qui fait cela, mais jeter un oeil à cette question SO:

Java: Print a 2D String array as a right-justified table

Il vous montre comment vous pouvez créer une méthode générique qui génère dynamiquement des chaînes de format pour chaque colonne.

+0

C'est une bonne solution, mais si une bibliothèque existe, j'aimerais quand même savoir, car j'ai besoin de plus de fonctionnalités de formatage dans mon cas. En fait je ne cherche pas de solution, plus une librairie pour externaliser ce genre de logique (si je peux éviter de conserver mon code moche, je vais :-)). – matthieus