アプリ版:「スタンプのみでお礼する」機能のリリースについて

APIで、PrintWriterクラスのコンストラクタの説明を見ると、
(例えば、public PrintWriter(String  fileName)など)

============
出力はファイルに書き込まれ、バッファに格納される
============

と記載されているのですが、
これは、PrintWriterクラスにもバッファ機能があるという事でしょうか?

だとすると、
バッファで出力したい時に、わざわざBufferedWriterを使う必要はないという事で良いのでしょうか??

教えてください!

A 回答 (2件)

PrintWriter(String fileName) や PrintWriter(File file) のソースを見れば分かりますが、コンストラクタ内で BufferedWriter を生成しています。


(BufferedWriter を使って出力されるので) 結果的にバッファされるということでしょう。

それに対して PrintWriter (Writer out) などでは、バッファされるかどうかはクライアントコード次第なのでドキュメントにバッファの説明が無いのかと。

この回答への補足

おお、ということは引数によってはバッファされているということですね!
プログラマ側でデコレートする必要がなくなるので、だいぶコードがシンプルになりますね。

補足日時:2011/11/04 13:43
    • good
    • 0

http://java.sun.com/javase/ja/6/docs/ja/api/java …
http://java.sun.com/javase/ja/6/docs/ja/api/java …

――を読んでみた感じだと、「出力はファイルに書き込まれ、バッファに格納される」っていうのは、「出力はファイルに書き込まれる」という意味しかなさそう。

http://download.oracle.com/javase/6/docs/api/jav …
――ですと、“The output will be written to the file and is buffered.”と書かれているので、「出力はファイルに書き込まれ、蓄えられる」ぐらいに解釈するみたいな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!