public class FileDataReader extends java.lang.Object implements DataReader<DataRecord>
DataRecord
にマッピングして返却するデータリーダ。
実際のレコード読み込み処理は、FileRecordReader
に委譲する。
このクラスを使用するにあたって設定が必須となるプロパティの実装例を下記に示す。
FileDataReader reader = new FileDataReader()
//フォーマット定義ファイルのベースパス論理名とフォーマット定義ファイル名(拡張子無し)を設定する。
.setLayoutFile("format", "formatFile")
//データファイルベースパス論理名とデータファイル名(拡張子無し)を設定する。
.setDataFile("input", "dataFile");
このクラスは読み込み対象のファイルやフォーマット定義ファイルが存在しない場合には例外を送出する。
読み込み対象のファイルが空(0バイト)の場合は、例外の送出は行わない。DataReader.NoMoreRecord
コンストラクタと説明 |
---|
FileDataReader()
FileDataReader オブジェクトを生成する。 |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
close(ExecutionContext ctx)
指定されたデータファイルに対するストリームを閉じ、ファイルハンドラを開放する。
|
protected FileRecordReader |
createFileRecordReader()
FileRecordReader オブジェクトを生成する。 |
protected FileRecordReader |
getFileReader()
FileRecordReader オブジェクトを取得する。 |
boolean |
hasNext(ExecutionContext ctx)
次に読み込むデータが存在するかどうかを返却する。
|
DataRecord |
read(ExecutionContext ctx)
データファイルを1レコードづつ読み込む。
|
FileDataReader |
setBufferSize(int bufferSize)
レコード読み込み時に使用するバッファのサイズを設定する。
|
FileDataReader |
setDataFile(java.lang.String fileName)
データファイルのファイル名を設定する。
|
FileDataReader |
setDataFile(java.lang.String basePathName,
java.lang.String fileName)
データファイルのベースパス論理名およびファイル名を設定する。
|
protected void |
setFileReader(FileRecordReader fileReader)
FileRecordReader オブジェクトを設定する。 |
FileDataReader |
setLayoutFile(java.lang.String layoutFile)
拡張子を除いた、フォーマット定義ファイルのファイル名を設定する。
|
FileDataReader |
setLayoutFile(java.lang.String basePathName,
java.lang.String fileName)
フォーマット定義ファイルのベースパス論理名および拡張子を除いたファイル名を設定する。
|
@Published(tag="architect") public FileDataReader()
FileDataReader
オブジェクトを生成する。public DataRecord read(ExecutionContext ctx)
read
インタフェース内 DataReader<DataRecord>
ctx
- 実行コンテキストnull
)public boolean hasNext(ExecutionContext ctx)
hasNext
インタフェース内 DataReader<DataRecord>
ctx
- 実行コンテキストtrue
public void close(ExecutionContext ctx)
close
インタフェース内 DataReader<DataRecord>
ctx
- 実行コンテキスト@Published(tag="architect") public FileDataReader setLayoutFile(java.lang.String layoutFile)
layoutFile
- フォーマット定義ファイル名@Published(tag="architect") public FileDataReader setLayoutFile(java.lang.String basePathName, java.lang.String fileName)
basePathName
- ベースパス論理名fileName
- フォーマット定義ファイル名@Published(tag="architect") public FileDataReader setDataFile(java.lang.String fileName)
fileName
- データファイル名@Published(tag="architect") public FileDataReader setDataFile(java.lang.String basePathName, java.lang.String fileName)
basePathName
- ベースパス論理名fileName
- データファイル名@Published(tag="architect") public FileDataReader setBufferSize(int bufferSize)
bufferSize
- レコード読み込み時に使用するバッファのサイズprotected FileRecordReader createFileRecordReader()
FileRecordReader
オブジェクトを生成する。java.lang.IllegalStateException
- 必須であるプロパティが設定されていない場合protected FileRecordReader getFileReader()
FileRecordReader
オブジェクトを取得する。null
)protected void setFileReader(FileRecordReader fileReader)
FileRecordReader
オブジェクトを設定する。fileReader
- FileRecordReader
オブジェクト