2016-12-22 6 views
0

Formatterでファイルに書き込むことをお勧めしますか? 例えば:Formatterでファイルに書き込むことはできますか?

Formatter g = null; 
    try { 
     g = new Formatter("data.out"); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

int x = 3; 
g.format("abc" + Integer.toString(x)); 
g.close(); 

私は、ファイルに書き込むための一般的な方法の一つはのPrintWriterであることを見つけるために、すべての学期長いフォーマッタと書いています。私の宿題の一部のプログラムでは、書くべきものを書かない可能性はありますか?ありがとう!

答えて

1

私はそれ自体が何か「間違っている」とは言いません。 FormatterはWriterを拡張しないため、互換性を失うことはありますが、出力用にcスタイルの書式設定オプションを取得するだけです。

ドキュメントに基づいて、あなたの宿題が間違っているとは思わないでしょう。しかし確かに確かめたいのであれば、FormatterにはAppandableオブジェクトを受け入れるコンストラクタがあり、Writerを拡張することによってPrintWriterがそのインターフェイスを実装します。つまり、通常はファイルに出力するために内部的に使用するデフォルトのBufferedWriterの代わりに、PrintWriterを使用して汚れた作業を行うようにFormatterを構築できます。ただし、PrintとBufferedWriterは例外処理、公開されたメソッド、およびパフォーマンスとの内部的な違いがありますが、Formatterは両方とも同じ方法で対話するので、印刷された出力は最終的には同じになります。

関連する問題