Class FileRecordReader

java.lang.Object
nablarch.core.dataformat.FileRecordReader
All Implemented Interfaces:
Closeable, AutoCloseable

@Published(tag="architect") public class FileRecordReader extends Object implements Closeable
ファイルからの読み込みを行うリーダ。

入力形式のフォーマット定義ファイルと入力先ファイルを指定する。 明示的に指定しなかった場合のフォーマット定義ファイルの参照ディレクトリは、 "format"論理ベースパスに設定されたパスとなる。 同様に、データファイルの入力先は"input"論理ベースパスに設定されたパスとなる。

アプリケーションから、本クラスを直接使用することは許可しない。

本クラスはスレッドセーフを考慮した実装にはなっていないので、呼び出し元で同期化の制御を行うこと。

Author:
Iwauo Tajima
  • Constructor Details

    • FileRecordReader

      public FileRecordReader(File dataFile, File layoutFile)
      コンストラクタ。
      Parameters:
      dataFile - データファイル
      layoutFile - フォーマット定義ファイル
    • FileRecordReader

      public FileRecordReader(File dataFile, File layoutFile, int bufferSize)
      コンストラクタ。
      Parameters:
      dataFile - データファイル
      layoutFile - フォーマット定義ファイル
      bufferSize - ファイル読み込みの際に使用するバッファのサイズ
    • FileRecordReader

      public FileRecordReader(File dataFile, LayoutDefinition layoutDefinition)
      コンストラクタ。
      Parameters:
      dataFile - データファイル
      layoutDefinition - フォーマット定義情報保持クラス
  • Method Details

    • initialize

      protected FileRecordReader initialize()
      初期化処理を行う。
      Returns:
      このオブジェクト自体
    • initialize

      protected FileRecordReader initialize(DataRecordFormatter formatter)
      初期化を行う。
      Parameters:
      formatter - フォーマッタ
      Returns:
      このオブジェクト自体
    • createInputStream

      protected void createInputStream()
      入力ストリームを生成する。
    • read

      public DataRecord read()
      指定されたデータファイルから次のレコードを読み込んで返す。
      Returns:
      データレコード
    • hasNext

      public boolean hasNext()
      次に読み込むレコードがあるかどうかを返却する。
      Returns:
      次に読み込むレコードがある場合、true
    • readRecord

      protected DataRecord readRecord()
      レコードを1行読み込み、結果を返却する。
      Returns:
      読み込んだ結果が格納されるデータレコード
    • close

      public void close()
      指定されたデータファイルに対するストリームを閉じ、 ファイルハンドラを開放する。
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • getRecordNumber

      public int getRecordNumber()
      読み込み中のレコードのレコード番号を返却する。
      Returns:
      レコード番号