0

次のコードで(new FileWriter(new PrintWriter

pw = new PrintWriter(new BufferedWriter(new FileWriter  ("xanaduindeed.txt")));

pw = new PrintWriter(new BufferedWriter(new PrintWriter ("xanaduindeed.txt")));

どちらも問題なく動作しますが、どちらがメモリ使用量を最適化するかを知りたいです。(2つのどちらかが実際に優れている場合)よろしくお願いします。

4

3 に答える 3

3

Oracle の JVM では:

public PrintWriter(String fileName) throws FileNotFoundException {
    this(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName))),
         false);
}

PrintWriterの注目すべき特徴は、すべての改行 (LF または CR または CRLF) で出力をフラッシュすることです。最小のメモリ フットプリントはそのままですFileWriterが、バッファリングにより I/O パフォーマンスが大幅に向上します。

于 2013-04-25T13:08:12.013 に答える
1

私が心配する主なことは、例外処理が両方のケースで異なることです。ここでこの古い回答をチェックしてください

どちらの場合でも、エンコードには注意してください。システムのデフォルトを使用しているため、コンピューターで書いたものが別のコンピューターで誤って読み取られる可能性があります

于 2013-04-25T13:08:01.243 に答える