- すべての実装されたインタフェース:
Closeable
,AutoCloseable
行とはバイトの連なりであり、復帰文字('\r'
)、改行文字('\n'
)、または復帰文字とそれに続く改行文字で終わります。 これら3種類のすべてで、行を終了させる文字は1個の改行文字として返されます。
行番号は0
から始まり、read
が改行文字を返すたびに1
ずつ増分します。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
クラスjava.io.FilterInputStreamで宣言されたフィールド
in
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明int
非推奨。ブロックせずに入力ストリームから読み込むことができるバイト数を返します。int
非推奨。現在の行番号を返します。void
mark
(int readlimit) 非推奨。この入力ストリームの現在位置にマークを設定します。int
read()
非推奨。この入力ストリームからデータの次のバイトを読み込みます。int
read
(byte[] b, int off, int len) 非推奨。最大len
バイトのデータを、この入力ストリームからバイト配列に読み込みます。void
reset()
非推奨。このストリームを、この入力ストリームで最後にmark
メソッドが呼び出されたときの位置に再配置します。void
setLineNumber
(int lineNumber) 非推奨。行番号を指定された引数で設定します。long
skip
(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
- 入出力エラーが発生した場合。- 関連項目:
-