JavaにおけるFileReaderとBufferedReaderの主な違いは、FileReaderがファイルから文字を読み取るのに対し、BufferedReaderは別のReaderから文字を読み取るという点です。
Javaは、ソフトウェア開発における最新のプログラミング言語です。
オブジェクト指向のプログラミングが可能で、自動ガベージコレクタ、マルチスレッドのサポートなどの機能を備えています。
開発者は、スタンドアロン、ウェブ、モバイル、その他多くのアプリケーションにJavaを使用しています。
さらに、Javaを使用してファイルに対する操作を実行することも可能です。
そのタスクを達成するための2つのクラスがFileReaderとBufferedReaderです。
JavaにおけるFileReaderとは
FileReaderは、ファイルからデータを読み込むためのクラスです。
データはバイト形式で返されます。
FileReaderクラスには、次の2つのメソッドがあります。
int read () – このメソッドは、ASCII形式の文字を返します。
ファイルの終端では-1を返します。
void close () – FileReaderオブジェクトをクローズするためのものです。
さらに、コンストラクタには2つの書き方があります。
FileReader (string file) – プログラマは、ファイルを文字列として渡します。
ファイルを読み込みモードでオープンし、ファイルがない場合は FileNotFoundException をスローします。
FileReader (File file) – プログラマは、ファイル・インスタンスを渡します。
以下はその例です。
file1.txtは,いくつかの文字からなるファイルです。
上のプログラムでは、FileReader型のオブジェクトが存在する。
FileReaderはfile1.txtファイルへのパスを受け取る。
変数’i’は、ファイル内のすべての文字を反復処理するのに役立ちます。
while ループの中の read 関数は、ファイル内の文字を読みます。
この関数は、ファイルが終了するまで文字を読み続ける。
ファイルの終端では、read関数は-1を返す。
そして、ループは終了する。
最後に、プログラマは FileReader オブジェクトをクローズします。
バッファードリーダーとは?
BufferReaderは、文字ベースの入力ストリームからテキストを読み込むのに役立つクラスです。
別のReaderを使用して文字を読み取ります。
BufferReaderクラスのいくつかのメソッドは次のとおりです。
int read() – このメソッドは、1つの文字を読み取ります。
String readLine() – テキストを1行読み取ります。
void close() – このメソッドは、入力ストリームを閉じ、関連するシステム・リソースを解放します。
さらに、コンストラクタの書き方には2通りあります。
BufferedReader (Reader rd) – 入力バッファの既定サイズを使用する、バッファ付き文字入力ストリームを作成します。
BufferedReader (Reader rd, int size) – 入力バッファに指定されたサイズを使用するバッファ付き文字入力ストリームを作成します。
以下に例を示す.file1.txtは,いくつかの文字からなるファイルです。
図2:BufferedReaderを使ったプログラム
FileReader型のオブジェクトがあります。
FileReaderはfile1.txtのファイルへのパスを受け取る。
そのオブジェクトはBufferedReaderに渡される。
変数’i’は、ファイル内のすべての文字を反復処理するのに役立つ。
whileループの中のread関数は、ファイル内の文字を読みます。
この関数は、ファイルが終了するまで文字を読み続けます。
ファイルが終了すると、read関数は-1を返します。
そして、ループは終了する。
最後に、プログラマは BufferedReader と FileReader オブジェクトを閉じることができます。
JavaにおけるFileReaderとBufferedReaderの違い
定義
FileReaderは、ファイルからデータを読み取るためのクラスです。
BufferReaderは、文字ベースの入力ストリームからテキストを読み取るのに役立つクラスです。
これが、FileReaderとBufferReaderの主な違いです。
バッファリング
FileReaderとBufferedReaderのもう一つの違いは、バッファリングです。
つまり、FileReader はバッファリングされないが、BufferedReader はバッファリングされる。
読み取りデータ
さらに、FileReaderとBufferedReaderのもう一つの違いは、FileReaderのread関数がファイルからデータを読み込むのに対し、BufferedReaderのreadメソッドはバッファを使用してデータを読み込むことである。
協会
また、FileReaderはファイルシステム内のファイルから文字を取得し、BufferedReaderは他のReaderに文字をバッファリングさせることができる。
スピード
FileReaderとBufferedReaderのもう一つの違いは、速度です。
FileReaderはBufferedReaderより遅い。
結論
FileReaderとBufferedReaderは、ファイルに対する操作を行うためのクラスです。
JavaにおけるFileReaderとBufferedReaderの主な違いは、FileReaderがファイルから文字を読み取るのに対し、BufferedReaderは別のReaderから文字を読み取るという点です。