文字入力ストリームからテキストを読み取り、文字、配列、行を効率的に読み取ることができるように文字をバッファリングします。バッファ サイズを指定することも、デフォルト サイズを使用することもできます。デフォルトは、ほとんどの目的に十分な大きさです。一般に、リーダーによって行われる各読み取りリクエストにより、基礎となる文字またはバイト ストリームに対して対応する読み取りリクエストが行われます。したがって、FileReaders や InputStreamReaders など、read() 操作にコストがかかる可能性がある Reader の周囲に BufferedReader をラップすることをお勧めします。テキスト入力に DataInputStreams を使用するプログラムは、それぞれを置き換えることによってローカライズできます。 データ入力ストリーム 適切な バッファリーダー 。
BufferedReader クラスのコンストラクター
| コンストラクタ | 実行されたアクション |
|---|---|
| BufferedReader(リーダーイン) | デフォルトサイズの入力バッファを使用するバッファリング文字入力ストリームを作成します。 |
| BufferedReader(リーダー入力、int sz) | 指定されたサイズの入力バッファを使用するバッファリング文字入力ストリームを作成します。 |
BufferedReaderクラスのメソッド
| メソッド名 | アクション |
|---|---|
| 近い() | ストリームを閉じて、それに関連付けられているシステム リソースを解放します。ストリームが閉じられると、さらに read()、ready()、mark()、reset()、または Skip() を呼び出すと IOException がスローされます。以前に閉じたストリームを閉じても効果はありません。 |
| マーク() | ストリーム内の現在位置をマークします。後続のreset()の呼び出しでは、ストリームをこのポイントに再配置しようとします。 |
| マークサポート済み() | このストリームが mark() 操作をサポートしているかどうかを示します。 |
| 読む() | 単一文字を読み取ります。 |
| read(char[] cbuf, int off, int len) | 配列の一部に文字を読み取ります。このメソッドは、Reader クラスの対応する読み取りメソッドの一般規約を実装します。さらに便利なように、基礎となるストリームの read メソッドを繰り返し呼び出すことによって、できるだけ多くの文字を読み取ろうとします。 |
| 読み込まれた行() | テキスト行を読み上げます。行は、改行 (「 」)、復帰 (「 」)、または復帰の直後に改行が続くいずれかによって終了すると見なされます。 |
| 準備ができて() | このストリームを読み取る準備ができているかどうかを示します。 |
| リセット() | ストリームを最新のマークにリセットします。 |
| スキップ(長い) | 文字をスキップします。 |
実装: ファイル内の内容は次のとおりです。
This is first line this is second line>
例
Javaで配列を返す方法
ジャワ
Java文字列形式
// Java Program to Illustrate BufferedReader Class> // Via Its Methods> > // Importing required classes> import> java.io.BufferedReader;> import> java.io.FileReader;> import> java.io.IOException;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >throws> IOException> >{> > >// Creating object of FileReader and BufferedReader> >// class> >FileReader fr =>new> FileReader(>'file.txt'>);> >BufferedReader br =>new> BufferedReader(fr);> > >char> c[] =>new> char>[>20>];> > >// Illustrating markSupported() method> >if> (br.markSupported()) {> > >// Print statement> >System.out.println(> >'mark() method is supported'>);> > >// Illustrating mark method> >br.mark(>100>);> >}> > >// File Contents is as follows:> >// This is first line> >// this is second line> > >// Skipping 8 characters> >br.skip(>8>);> > >// Illustrating ready() method> >if> (br.ready()) {> > >// Illustrating readLine() method> >System.out.println(br.readLine());> > >// Illustrating read(char c[],int off,int len)> >br.read(c);> > >for> (>int> i =>0>; i <>20>; i++) {> >System.out.print(c[i]);> >}> > >System.out.println();> > >// Illustrating reset() method> >br.reset();> >for> (>int> i =>0>; i <>8>; i++) {> > >// Illustrating read() method> >System.out.print((>char>)br.read());> >}> >}> >}> }> |
ネットワークの種類
>
>
出力:
文字列Java
mark() method is supported first line this is second line This is>