- すべての実装されたインタフェース:
Closeable,AutoCloseable
行とはバイトの連なりであり、復帰文字('\r')、改行文字('\n')、または復帰文字とそれに続く改行文字で終わります。 これら3種類のすべてで、行を終了させる文字は1個の改行文字として返されます。
行番号は0から始まり、readが改行文字を返すたびに1ずつ増分します。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
クラスjava.io.FilterInputStreamで宣言されたフィールド
in -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明int非推奨。ブロックせずに入力ストリームから読み込むことができるバイト数を返します。int非推奨。現在の行番号を返します。voidmark(int readlimit) 非推奨。この入力ストリームの現在位置にマークを設定します。intread()非推奨。この入力ストリームからデータの次のバイトを読み込みます。intread(byte[] b, int off, int len) 非推奨。最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。voidreset()非推奨。このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。voidsetLineNumber(int lineNumber) 非推奨。行番号を指定された引数で設定します。longskip(long n) 非推奨。この入力ストリームからnバイトのデータをスキップして破棄します。クラスjava.io.FilterInputStreamで宣言されたメソッド
close, markSupported, readクラスjava.io.InputStreamで宣言されたメソッド
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
コンストラクタの詳細
-
LineNumberInputStream
public LineNumberInputStream(InputStream in) 非推奨。指定された入力ストリームから読み込む、新しい行番号付き入力ストリームを作成します。- パラメータ:
in- ベースとなる入力ストリーム。
-
-
メソッドの詳細
-
read
public int read() throws IOException非推奨。この入力ストリームからデータの次のバイトを読み込みます。 バイト値は、0-255の範囲のintとして返されます。 ストリームの終わりに達したために読み込むバイトがない場合は、-1が返されます。 入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。LineNumberInputStreamのreadメソッドはそのベースとなる入力ストリームのreadメソッドを呼び出します。 入力に現れる復帰文字と改行文字を調べ、適切な行番号を保ちます。 復帰文字と復帰文字+改行文字は、どちらも1個の改行文字に変換されます。- オーバーライド:
read、クラスFilterInputStream- 戻り値:
- データの次のバイト。ストリームの終わりに達した場合は
-1。 - スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
read
public int read(byte[] b, int off, int len) throws IOException 非推奨。最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。 このメソッドは、入力の一部が利用できるようになるまでブロックします。LineNumberInputStreamのreadメソッドは、引数を取らないreadメソッドを繰返し呼び出してバイト配列に書き込みます。- オーバーライド:
read、クラスFilterInputStream- パラメータ:
b- データの読込み先のバッファ。off- データの開始オフセット。len- 読み込まれる最大バイト数。- 戻り値:
- バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は
-1。 - スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
skip
public long skip(long n) throws IOException 非推奨。この入力ストリームからnバイトのデータをスキップして破棄します。 さまざまな理由から、skipメソッドは指定よりも少ないバイト数しかスキップしないことがあります。0の場合もあります。 スキップされた実際のバイト数が返されます。nが負の場合、バイトはスキップされません。LineNumberInputStreamのskipメソッドはバイト配列を作成し、nバイトが読み込まれるまで、またはストリームの終わりに達するまで繰り返しその中に読み込みます。- オーバーライド:
skip、クラスFilterInputStream- パラメータ:
n- スキップされるバイト数。- 戻り値:
- 実際にスキップされたバイト数。
- スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
setLineNumber
public void setLineNumber(int lineNumber) 非推奨。行番号を指定された引数で設定します。- パラメータ:
lineNumber- 新規行番号。- 関連項目:
-
getLineNumber
public int getLineNumber()非推奨。現在の行番号を返します。- 戻り値:
- 現在の行番号。
- 関連項目:
-
available
public int available() throws IOException非推奨。ブロックせずに入力ストリームから読み込むことができるバイト数を返します。ブロックせずにベースとなる入力ストリームからk個の文字を読込み可能な場合、
LineNumberInputStreamがブロックせずに読込み可能な文字数はk/2となる可能性があることに注意してください。これは、ベースとなる入力ストリームからのk個の文字がk/2対の'\r'と'\n'である可能性もあり、これがk/2個の'\n'文字に変換されるかもしれないからです。- オーバーライド:
available、クラスFilterInputStream- 戻り値:
- ブロックしないで入力ストリームから読み込むことができるバイト数。
- スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
mark
public void mark(int readlimit) 非推奨。この入力ストリームの現在位置にマークを設定します。 これに続いてresetメソッドを呼び出すと、最後にマークされた位置にこのストリームが再配置されるため、以降の読込みでは同じバイトが再度読み込まれます。LineNumberInputStreamのmarkメソッドは、private変数に現在の行番号を記録してから、ベースとなる入力ストリームのmarkメソッドを呼び出します。- オーバーライド:
mark、クラスFilterInputStream- パラメータ:
readlimit- マーク位置が無効になる前に読込み可能なバイト数の上限。- 関連項目:
-
reset
public void reset() throws IOException非推奨。このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。LineNumberInputStreamのresetメソッドは、まず行番号をmarkメソッドが呼び出された時点の値にリセットし、それからベースとなる入力ストリームのresetメソッドを呼び出します。ストリームのマークは、ストリームに何が含まれているかをチェックするために、データを少しだけ先読みする必要がある場合に使われます。 これをもっとも容易に実行する方法は、一般的なパーサーを呼び出すことです。 ストリームがパーサーで取り扱えるタイプであれば、これでうまく行きます。 ストリームがそのようなタイプではない場合、パーサーは失敗した時点で例外を発生させます。これにより、readlimitバイトの範囲内でこれが発生した場合は、外部のコードでストリームをリセットし、別のパーサーを呼び出すことができます。
- オーバーライド:
reset、クラスFilterInputStream- スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-