クラス情報
パッケージ: com.onepg.util
クラス名: CsvReader
説明
CSVリーダークラス.
- テキストリーダー
TxtReaderのラッパークラス。 - try 句(try-with-resources文)で宣言する。
- CSV の各行を
IoItemsとして返すイテレーターを提供する。 - ファイルの1行目を列名とし
IoItemsのキーに使用する。 - ファイルの1行目に列名が無い場合は
IoItemsのキーをコンストラクタに渡す必要がある。 - 引数のキー配列でキーがブランクの項目は
IoItemsに格納されない。(読み飛ばしたい列にはブランクキーを指定する) - CSV項目数がキー数より多い場合、余剰分の項目は格納されない。
- キー数がCSV項目数より多い場合、そのキーの値は常にブランクとなります。
- CSVタイプがダブルクォーテーション付の場合、値内の2つ連続したダブルクォーテーション("")は1つのダブルクォーテーション(")に変換される。
- CSVタイプが改行有りの場合、かつ値(ダブルクォーテーション間)に改行コードを含む場合、その改行コード(CRLF・CR)は LF に統一される。
- CSVタイプが改行無し(改行有り以外)の場合、値(ダブルクォーテーション間)に改行コードを含むと、改行箇所が列区切りとして誤認識され列数不足のエラー状態となる。
[例]
try (final CsvReader cr = new CsvReader(filePath, ValUtil.UTF8, CsvType.DQ_ALL);) {
for (final IoItems items : cr) {
:省略
}
}
メソッド一覧
iterator
public Iterator<IoItems> iterator()
イテレーター作成.
戻り値
Iterator<IoItems> - CSV行イテレーター
close
public void close()
ファイルクローズ.
getReadedCount
public int getReadedCount()
読込済行数取得.
- イテレーターで読み込んだ件数を返す。
- ファイルの1行目をキーとして使用した場合、ヘッダ行はカウントされない。
戻り値
int - 読込済行数
isReadedEndRow
public boolean isReadedEndRow()
最終行読込済判定.
戻り値
boolean - 最終行読込済の場合は true
hasNext
public boolean hasNext()
次行確認.
戻り値
boolean - 次行が存在する場合は true
next
public IoItems next()
次行取得.
IoItemsに CSV行を格納して返す。
戻り値
IoItems - CSV行の IoItems