jp.terasoluna.fw.file.dao.standard
クラス CSVFileLineIterator<T>

java.lang.Object
  上位を拡張 jp.terasoluna.fw.file.dao.standard.AbstractFileLineIterator<T>
      上位を拡張 jp.terasoluna.fw.file.dao.standard.CSVFileLineIterator<T>
型パラメータ:
T - ファイル行オブジェクト。
すべての実装されたインタフェース:
java.util.Iterator, FileLineIterator<T>

public class CSVFileLineIterator<T>
extends AbstractFileLineIterator<T>

CSVファイル用のファイルアクセス(データ取得)クラス。

CSVファイルからデータを読み込み、1行分のデータをファイル行オブジェクトに格納する。

※利用するファイル行オブジェクトのアノテーション項目
@.@FileFormatの設定項目
論理項目名 物理項目名 デフォルト値 必須性
行区切り文字 lineFeedChar システムの行区切り文字 オプション
囲み文字 encloseChar なし('') オプション
ファイルエンコーディング fileEncodeing システムのファイルエンコーディング オプション
ヘッダ行数 headerLineCount 0 オプション
トレイラ行数 trailerLineCount 0 オプション

A.@InputFileColumn、@OutputFileColumnの設定項目
論理項目名 物理項目名 デフォルト値 必須性
カラムインデックス columnIndex - 必須
フォーマット columnFormat "" オプション
バイト長 bytes - 必須
パディング種別 paddingType パディングなし オプション
パディング文字 paddingChar ' ' オプション
トリム種別 trimType トリムなし オプション
トリム文字 trimChar ' ' オプション
文字変換種別 stringConverter NullStringConverter.class オプション

※注意事項


フィールドの概要
private static char DELIMITER
          区切り文字。
private  char encloseChar
          囲み文字。
 
コンストラクタの概要
CSVFileLineIterator(java.lang.String fileName, java.lang.Class<T> clazz, java.util.Map<java.lang.String,ColumnParser> columnParserMap)
          コンストラクタ。
 
メソッドの概要
 char getDelimiter()
          区切り文字を取得する。
 char getEncloseChar()
          囲み文字を取得する。
protected  java.lang.String[] separateColumns(java.lang.String fileLineString)
          文字列分割処理。
 void setEncloseChar(char encloseChar)
          囲み文字を設定する。
 
クラス jp.terasoluna.fw.file.dao.standard.AbstractFileLineIterator から継承されたメソッド
closeFile, getCurrentLineCount, getFields, getFileEncoding, getFileName, getHeader, getHeaderLineCount, getLineFeedChar, getTrailer, getTrailerLineCount, hasNext, init, isCheckByte, next, readLine, remove, skip
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DELIMITER

private static final char DELIMITER
区切り文字。CSVファイルは「,(カンマ)」で固定。

関連項目:
定数フィールド値

encloseChar

private char encloseChar
囲み文字。

コンストラクタの詳細

CSVFileLineIterator

public CSVFileLineIterator(java.lang.String fileName,
                           java.lang.Class<T> clazz,
                           java.util.Map<java.lang.String,ColumnParser> columnParserMap)
コンストラクタ。

パラメータ:
fileName - ファイル名
clazz - ファイル行結果クラス
columnParserMap - カラムフォーマット処理を格納するマップ
メソッドの詳細

separateColumns

protected java.lang.String[] separateColumns(java.lang.String fileLineString)
文字列分割処理。 データ部のデータ1行分をファイル行オブジェクトの アノテーションの記述に従いカラムに分割する。
引数fileLineStringnullもしくは 空文字の場合は、要素を持たないString配列を返します。

定義:
クラス AbstractFileLineIterator<T> 内の separateColumns
パラメータ:
fileLineString - CSVの1レコード分の文字列
戻り値:
文字列配列

getDelimiter

public char getDelimiter()
区切り文字を取得する。
CSVファイルは「,(カンマ)」で固定。

定義:
クラス AbstractFileLineIterator<T> 内の getDelimiter
戻り値:
delimiter 行区切り文字

getEncloseChar

public char getEncloseChar()
囲み文字を取得する。

定義:
クラス AbstractFileLineIterator<T> 内の getEncloseChar
戻り値:
encloseChar 囲み文字

setEncloseChar

public void setEncloseChar(char encloseChar)
囲み文字を設定する。

パラメータ:
encloseChar - 囲み文字