J'obtiens les résultats d'une base de données et je souhaite afficher les données sous forme de tableau dans la sortie standard de Java
J'ai essayé d'utiliser \ t mais la première colonne que je veux est de longueur très variable.
Y a-t-il un moyen d'afficher cela dans un joli tableau comme la sortie?
Réponses:
Utilisez
System.out.format
. Vous pouvez définir des longueurs de champs comme ceci:Ces plots
string1
,int1
etstring2
à 32, 10 et 16 caractères, respectivement.Voir les Javadocs pour
java.util.Formatter
plus d'informations sur la syntaxe (System.out.format
utilise un enFormatter
interne).la source
%n
- il est automatiquement traduit en terminateur de ligne par défaut du système.Utilisation de j-text-utils vous pouvez imprimer pour consolider une table comme:
Et c'est aussi simple que:
L'API permet également le tri et la numérotation des lignes ...
la source
J'ai créé un projet qui peut créer des vues de table beaucoup plus avancées. Si vous êtes censé imprimer le tableau, la largeur du tableau aura une limite. Je l'ai appliqué dans l'un de mes propres projets pour imprimer une facture client. Voici un exemple de la vue d'impression.
Ceci est le code pour la vue d'impression ci-dessus et vous pouvez trouver la bibliothèque (Wagu) ici .
la source
Je suis peut-être très en retard pour la réponse mais voici une solution simple et générique
Avec ce type de sortie
la source
Regarde ça. L'auteur propose une solution simple mais élégante qui ne nécessite aucune bibliothèque tierce. http://www.ksmpartners.com/2013/08/nicely-formatted-tabular-output-in-java/
la source
Parce que la plupart des solutions sont un peu obsolètes, je pourrais également suggérer asciitable qui est déjà disponible dans maven (
de.vandermeer:asciitable:0.3.2
) et peut produire des configurations très compliquées.Caractéristiques (hors site):
Et l'utilisation semble toujours facile:
la source
la différence de taille d'entrée n'affecte pas la sortie
la source
Découvrez la classe java.util.Formatter .
la source