8
votes

Limite de caractères pour system.out.println () en Java

Y a-t-il une limite de caractères pour la sortie du système system.out.println de Java (String X) ?

Lorsque j'essaie d'imprimer du XML à partir d'un appel de service Web à l'aide de System.out.println () , seule une partie de celle-ci est en fait imprimée dans la console.

La chaîne XML que j'essaie d'imprimer est énorme.

Pourquoi cela se produit-il?


2 commentaires

Pouvez-vous poster une capture d'écran pour montrer la nature de votre sortie?


Je ne peux pas dire merci assez merci. Pourquoi Eclipse implémenterait-il cela de manière aussi mauvaise ...


6 Réponses :


3
votes

Je suppose que vous ne voyez que la dernière partie de la chaîne car la console dispose d'un nombre limité de lignes qu'il peut afficher.

envisager de vous connecter à un fichier de Java ou de la redirection du Sortie standard du programme à un fichier: xxx


2 commentaires

+1 - Il n'y a pas de limite sur le côté Java (par exemple dans la pile de sortie).


@Stephen_c pile de sortie? Comme il a été souligné, il y a une limite imposée pour un seul appel à PrintLN, mais c'est énorme.



20
votes

Est-ce que vous rencontrez cela dans Eclipse? Si oui:

Modifier :

  1. Aller à la fenêtre> Préférences> Run / Debug> Console
  2. décochez "la sortie de la console limite" (alternativement, vous pouvez augmenter la taille de la mémoire tampon de la console.)

    source


2 commentaires

Juste un conseil amical, des réponses uniquement des liaisons sont généralement découragées sur des sites d'échange de pile. Les réponses devraient pouvoir rester seules sans dépendre des ressources externes. Les raisons pour cela sont décrites ici , ici et à plusieurs autres postes. Habituellement, je viens de pavillon des poteaux comme celui-ci et des mods puis les supprimer, mais comme vous venez de la poster maintenant, je pensais que je vous donnerais une chance de mettre à jour (et éventuellement gagner un représentant!) Premièrement.


Je comprends - mais dans ce cas particulier, la réponse est juste sur le site lié. Quoi qu'il en soit, il peut être utile d'avoir la solution à ce sujet, une fois que le site lié diminue. So - Edit Terminé ...



3
votes

Si vous utilisez Eclipse, c'est parce qu'il existe une limite de la capacité de la console de sortie Eclipse. Voir ceci alors question: Comment augmente-t-il le Capacité de la console de sortie Eclipse?


0 commentaires

3
votes

Vous êtes limité par la taille maximale d'une chaîne Java. C'est tout. Cela devrait être l'équivalent de la longueur d'integer.max_value (2147483647), qui correspond à la taille maximale d'un tableau, puisque une chaîne est une matrice de charme.

Sinon, c'est la limite de capacité de la console Eclipse, car d'autres l'ont dit.


0 commentaires

0
votes

Il n'y a pas vraiment de maximum explicite, mais le décalage dans la chaîne est déterminé par Int, donc entier.maxvalue serait une limitation IMO. Cela dépendra également de votre mémoire disponible.

Votre meilleur pari serait de diffuser la sortie et d'écrire des portions à la fois pour vous assurer de tout faire.


0 commentaires

2
votes

Je sais que l'impression de très longues chaînes dans la console Eclipse entraîne une partie ou toute la chaîne devenant invisible. Vous voudrez peut-être casser votre XML en morceaux. Si vous ne voyez que la partie de la queue du XML, je suppose que sa mémoire tampon de console coupe la partie de celui-ci. @Quaylar a posté un lien à ce sujet.


0 commentaires