public class PlainFileLineIterator extends AbstractFileLineIterator<Object>
テキストファイルから1行分のデータを読み取り文字列として呼出元に返却する。 他のファイルアクセス機能とは異なり、ファイル行オブジェクトを使わない。
※利用するファイル行オブジェクトのアノテーション項目FileFormat
の設定項目論理項目名 | 物理項目名 | デフォルト値 | 必須性 |
行区切り文字 |
lineFeedChar |
システムの行区切り文字 |
オプション |
ファイルエンコーディング |
fileEncodeing |
システムのファイルエンコーディング |
オプション |
ヘッダ行数 |
headerLineCount |
0 |
オプション |
トレイラ行数 |
trailerLineCount |
0 |
オプション |
コンストラクタと説明 |
---|
PlainFileLineIterator(String fileName,
Class clazz,
Map<String,ColumnParser> columnParserMap)
コンストラクタ。
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
getCurrentLineCount()
現在ファイル入力処理済みのデータ部内の行数を取得する。
|
char |
getDelimiter()
区切り文字を取得する。
|
char |
getEncloseChar()
囲み文字を取得する。
|
List<String> |
getTrailer()
トレイラ部のデータを取得する。
|
protected boolean |
isCheckColumnAnnotationCount()
ファイル行オブジェクトにアノテーションが設定されている事をチェックするかどうかを返す。
|
String |
next()
繰り返し処理でファイル行オブジェクトを返却する。
|
String[] |
separateColumns(String fileLineString)
文字列分割処理。
|
void |
skip(int skipLines)
データ部のデータを読み飛ばす処理を行う。
|
closeFile, getColumnBytes, getColumnEncloseChar, getFields, getFileEncoding, getFileName, getHeader, getHeaderLineCount, getLineFeedChar, getTotalBytes, getTrailerLineCount, hasNext, init, isCheckByte, isCheckByte, isCheckEncloseChar, isEnclosed, readLine, remove, setLineFeedChar
public PlainFileLineIterator(String fileName, Class clazz, Map<String,ColumnParser> columnParserMap)
fileName
- ファイル名clazz
- 結果クラスcolumnParserMap
- フォーマット処理リストpublic String[] separateColumns(String fileLineString)
データ部のデータ1行分をファイル行オブジェクトのアノテーションの記述に従いカラムに分割する。
このクラスでは処理は実装されていないため、UnsupportedOperationException
がスローされる。
separateColumns
クラス内 AbstractFileLineIterator<Object>
fileLineString
- データ部のデータ1行分public String next()
次の行のレコードの情報をファイル行オブジェクトに格納して返却する。
next
インタフェース内 Iterator
next
インタフェース内 FileLineIterator<Object>
next
クラス内 AbstractFileLineIterator<Object>
public void skip(int skipLines)
skip
インタフェース内 FileLineIterator<Object>
skip
クラス内 AbstractFileLineIterator<Object>
skipLines
- 読み飛ばす行数。public List<String> getTrailer()
getTrailer
インタフェース内 FileLineIterator<Object>
getTrailer
クラス内 AbstractFileLineIterator<Object>
AbstractFileLineIterator.getTrailer()
public char getDelimiter()
getDelimiter
クラス内 AbstractFileLineIterator<Object>
public char getEncloseChar()
getEncloseChar
クラス内 AbstractFileLineIterator<Object>
public int getCurrentLineCount()
getCurrentLineCount
クラス内 AbstractFileLineIterator<Object>
protected boolean isCheckColumnAnnotationCount()
isCheckColumnAnnotationCount
クラス内 AbstractFileLineIterator<Object>
Copyright © 2014 NTT DATA Corporation.