1. ホーム
  2. java

[解決済み] java.io.PrintWriterとjava.io.BufferedWriterの違い?

2022-01-31 21:02:38

質問

以下のコードを見てください。

// A.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(fileWriter);

// B.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bWriter = new BufferedWriter(fileWriter);

この2つの方法の違いは何ですか?

BufferedWriterではなくPrintWriterを使用するのはどのような場合ですか?

どのように解決するのですか?

のAPIリファレンスは バッファードライター プリントライター は、その違いを詳しく説明しています。

PrintWriterを使用する主な理由は、println()のようなprintXXXメソッドにアクセスするためです。 System.out を使ってコンソールに書き込むのと同じように、基本的に PrintWriter を使ってファイルに書き込むことができます。

BufferedWriterは、ファイルへの書き込みを行うためにCにドロップする前に(おそらく実装によっては)Javaメモリに文字をバッファリングするので、ファイル(または他の何か)に書き込むための効率的な方法です。

PrintReaderのような概念はありません。 java.util.Scanner(スキャナ .