JavaTM Platform
Standard Ed. 6

java.io
クラス LineNumberReader

java.lang.Object
  上位を拡張 java.io.Reader
      上位を拡張 java.io.BufferedReader
          上位を拡張 java.io.LineNumberReader
すべての実装されたインタフェース:
Closeable, Readable

public class LineNumberReader
extends BufferedReader

行番号を追跡して管理する、バッファリングされた文字入力ストリームです。このクラスには、現在の行番号を設定する setLineNumber(int) メソッドと、現在の行番号を取得する getLineNumber() メソッドが定義されています。  

デフォルトでは、行番号は 0 から始まります。行番号は、データが読み込まれて行末記号が見つかるたびに増加します。行番号を変更するときは、setLineNumber(int) を呼び出します。ただし、setLineNumber(int) は、ストリーム内の現在位置を実際に変更するのではなく、getLineNumber() から返される値を変更するだけです。  

1 行は、改行 ('\n')、キャリッジリターン ('\r')、キャリッジリターンとそれに続く改行のいずれかによって終了すると認識されます。

導入されたバージョン:
JDK1.1

フィールドの概要
 
クラス java.io.Reader から継承されたフィールド
lock
 
コンストラクタの概要
LineNumberReader(Reader in)
          デフォルトの入力バッファーサイズを使用して、行番号付きリーダーを新しく作成します。
LineNumberReader(Reader in, int sz)
          指定されたサイズのバッファーに文字を読み込む、行番号付きリーダーを新しく作成します
 
メソッドの概要
 int getLineNumber()
          行番号の現在値を取得します。
 void mark(int readAheadLimit)
          ストリームの現在位置にマークを設定します。
 int read()
          単一の文字を読み込みます。
 int read(char[] cbuf, int off, int len)
          配列の一部に文字を読み込みます。
 String readLine()
          テキストを 1 行読み込みます。
 void reset()
          ストリームを、もっとも新しいマーク位置にリセットします。
 void setLineNumber(int lineNumber)
          現在の行番号を設定します。
 long skip(long n)
          文字をスキップします。
 
クラス java.io.BufferedReader から継承されたメソッド
close, markSupported, ready
 
クラス java.io.Reader から継承されたメソッド
read, read
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

LineNumberReader

public LineNumberReader(Reader in)
デフォルトの入力バッファーサイズを使用して、行番号付きリーダーを新しく作成します。

パラメータ:
in - 基本となるストリームを提供する Reader オブジェクト

LineNumberReader

public LineNumberReader(Reader in,
                        int sz)
指定されたサイズのバッファーに文字を読み込む、行番号付きリーダーを新しく作成します

パラメータ:
in - 基本となるストリームを提供する Reader オブジェクト
sz - バッファーのサイズを指定する int
メソッドの詳細

setLineNumber

public void setLineNumber(int lineNumber)
現在の行番号を設定します。

パラメータ:
lineNumber - 行番号を指定する int
関連項目:
getLineNumber()

getLineNumber

public int getLineNumber()
行番号の現在値を取得します。

戻り値:
現在の行番号
関連項目:
setLineNumber(int)

read

public int read()
         throws IOException
単一の文字を読み込みます。行末記号は 1 個の改行文字 ('\n') に変換されます。行末記号が読み込まれるたびに、現在の行番号が増加します。

オーバーライド:
クラス BufferedReader 内の read
戻り値:
読み込まれた文字。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
配列の一部に文字を読み込みます。行末記号が読み込まれるたびに、現在の行番号が増加します。

オーバーライド:
クラス BufferedReader 内の read
パラメータ:
cbuf - 転送先バッファー
off - 文字の格納開始オフセット
len - 読み込む文字の最大数
戻り値:
読み込まれた文字数。ストリームの終わりに達している場合は -1
例外:
IOException - 入出力エラーが発生した場合

readLine

public String readLine()
                throws IOException
テキストを 1 行読み込みます。行末記号が読み込まれるたびに、現在の行番号が増加します。

オーバーライド:
クラス BufferedReader 内の readLine
戻り値:
行の内容を含む文字列、ただし行の終端文字は含めない。ストリームの終わりに達している場合は null
例外:
IOException - 入出力エラーが発生した場合

skip

public long skip(long n)
          throws IOException
文字をスキップします。

オーバーライド:
クラス BufferedReader 内の skip
パラメータ:
n - スキップする文字数
戻り値:
実際にスキップした文字数
例外:
IOException - 入出力エラーが発生した場合
IllegalArgumentException - n が負の値の場合

mark

public void mark(int readAheadLimit)
          throws IOException
ストリームの現在位置にマークを設定します。以降の reset() の呼び出しでは、この位置へのストリームの再配置を試み、それに合わせて行番号もリセットされます。

オーバーライド:
クラス BufferedReader 内の mark
パラメータ:
readAheadLimit - マークを保持しながら読み込むことができる文字数の上限。この数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある
例外:
IOException - 入出力エラーが発生した場合

reset

public void reset()
           throws IOException
ストリームを、もっとも新しいマーク位置にリセットします。

オーバーライド:
クラス BufferedReader 内の reset
例外:
IOException - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。