Quelle est la différence exacte entre out.write () et out.print ()
Dans ma servlet j'ai donné les deux out.print
et out.write
. mais les deux gravures dans le navigateur.
Quelle est la différence exacte entre ces deux et quand utiliser out.print
et out.write
?
source d'informationauteur Kumaran Palani
Vous devez vous connecter pour publier un commentaire.
La différence fondamentale est que
out.write()
explose si vous passer null:PrintWriter:
d'impression méthode a un plus haut niveau d'abstraction.
Espère que cette aide.
Il y a trois différences majeures:
1) Si vous essayez d'imprimer une valeur null d'une Chaîne de .write() , qu'Il va jeter NullPointerException tout .print() sera tout simplement l'impression NULL comme une chaîne de caractères.
2) .print() pouvez imprimer des valeurs Booléennes, mais .write() ne peut pas.
3) Si vous utilisez .write()vous ne pouvez tout simplement pas la place de l'arithmétique de code de l'opération mais .print() offre le soutien de.
Les variables dans votre cas est le plus probable se réfère à un PrintWriter
Il suffit de comparer la description de l'écrire...
... avec la description de la println ...
... et d'imprimer des ...
Dans l'ensemble je dirais que la méthode d'impression de travailler sur un niveau d'abstraction plus élevé et c'est celle que je préfère travailler avec lors de la rédaction de servlets.
PrintWriter
's la mise en œuvre communique la différence de mieux que de javadocJe sais tout simplement comme ceci:
out.println()
est une méthode dejavax.servlet.jsp.JspWriter
out.write()
est une méthode dejava.io.Writer
Première chose à faire est de vous ne pouvez pas utiliser
javax.servlet.jsp.JspWriter out
dans un servlet. Il doit être utilisé dans un.jsp
fichier, carout
est une méthode de variable locale dans_jspService(...)
méthode de votre.jsp
fichier.Cependant,
JspWriter.print()
est capable de prendre de nombreux types d'arguments queWriter.write()
.JspWriter.print()
Writer.write()
méthode write() écrit uniquement les caractères de flux(ou la console), mais ne s'imprime pas, tandis que la méthode print() écrit et l'imprimer sur un flux de données (ou une console).
premier énoncé écrit de caractère 97 je.e 'a' sur la console, mais ne s'imprime pas, tandis que la seconde déclaration imprime 'a' qui est déjà écrit sur le stream et " j " qui est passé dans la méthode print ().
.écrire(-) vs.print(-)
Une différence est.écrire(-)
méthode d'écriture de données ou un objet pour le navigateur de fichier. Vous ne pouvez pas écrire tout énoncé comme .write(10*20); mais nous le faisons avec .d'impression(10*20);