Je sais que le mais J'ai essayé quelque chose comme ça, p> J'ai observé que lorsque la méthode de flush est commentée, il n'y a pas de sortie, mais lorsque je le décompte, je reçois la sortie souhaitée. P > > Bien que le Javadoc ne mentionne nulle part que l'imprimeur est tamponné fort>, mais il semble le cas. P> P> imprimeur code> est vraiment bon si nous voulons écrire des données formatées, et je connais également l'utilisation de
bufferedWriter code> pour améliorer les performances IO.
4 Réponses :
de la source Java 8 pour l'imprimeur Vous pouvez voir que l'imprimeur utilise bufferedWriter et qu'il a une option autoflush code> ce qui n'aurait aucun sens si c'était tamponné. p> p>
Les deux classes sont efficaces. Si vous activez L'imprimeur code> est tamponné. La différence est que
imprimeur code> offre des méthodes de commodité pour écrire des représentations de chaînes formatées d'objets tels que
println () code> et
printf () code>. Il a également automatiquement rougir (si évidemment, il a un tampon). P>
PRODUCTROITRIER CODE> SO AUTO FLUSHING, alors il peut être moins (car il va rincer chaque fois que vous appelez quelque chose comme
println () code>). Une autre différence est que code> imprimeur code> ne vous permet pas de rédiger directement des octets. P>
L'imprimeur a aussi des méthodes d'écriture. "Une autre différence est que l'imprimeur ne vous permet pas de rédiger directement d'octets directement": je ne comprends pas cette déclaration.
J'ai vérifié les versions JDK commençant par 1.6.0_45 et toutes ont Ce constructeur présent:
PrintWriter pw = new PrintWriter(System.out, true); pw.println("Statement 1"); pw.println("Statement 2");
Eh bien, je veux simplement souligner que s'il n'est pas mentionné nulle part dans les spécifications Java que imprimeur code> doit utiliser des tampons, cela pourrait ne pas rester si dans les futures versions Java. Les implémentations peuvent changer. Je suis à peu près sûr que cela s'appelle l'abstraction ou l'encapsulation - je ne sais pas quoi cependant.
@Johnred Merci pour votre commentaire, si vous pensez que la réponse peut être améliorée, veuillez le modifier.
Je pense que puisque l'imprimeur peut également lire la chaîne à la fois, elle utiliserait le tampon. p>
Tous les écrivains ont la méthode de flush.