Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CsvConfig#setIgnoreEmptyLines(true)の場合の動作 #33

Open
yukiarai opened this issue Nov 5, 2014 · 3 comments
Open

CsvConfig#setIgnoreEmptyLines(true)の場合の動作 #33

yukiarai opened this issue Nov 5, 2014 · 3 comments
Assignees
Labels

Comments

@yukiarai
Copy link

yukiarai commented Nov 5, 2014

orangesignal-csv-2.2.1.jarを使用しています。
おそれいりますが、CsvConfigで、setIgnoreEmptyLines(true)を指定した際の動作について
ご教示ください。

aaa,aaa,aaa[\r\n]
[\r\n]
bbb,bbb,bbb[\r\n]
[eof]

上記のような内容のCSVファイルを読み取らせようとした際、aaa,aaa,aaaの行しか読み取られない。
bbb,bbb,bbbの行は無視される、という動作になることを確認しています。
これは、意図された仕様なのでしょうか。ドキュメント上、setIgnoreEmptyLines(true)に関しては
「空行を無視する」としか記述されていないので、ちょっと驚きました。

#30 も拝見いたしました。
この件の再現コードとなっているソースをorangesignal-csv-2.2.1.jarで実行してみたのですが、
TEST_STR = "1,name\r\n\r\n2,dare" というデータをsetIgnoreEmptyLines(true)で
読み込むと、"1,name" のところまでしか読み取られていない、という動作になっています。

現象として、想定どおりの動作であるのか、ご教示いただけると幸いです。
どうぞよろしくお願い申し上げます。

@orangesignal
Copy link
Owner

お問い合わせありがとうございます。現象を確認しました。
想定の挙動ではありませんので、原因を調査中です。

@orangesignal
Copy link
Owner

CsvReader では List 形式と List 形式で読込を行うことが可能なのですが、#30 で CsvConfig.setIgnoreEmptyLines(true) の場合に List は null を返すべきと、仕様策定を誤って修正したことに起因することが解りました。つまり CsvReader の挙動が期待される動作ではないことに起因します。いまいま仕様や修正について検討中です。

@orangesignal orangesignal self-assigned this Nov 6, 2014
@yukiarai
Copy link
Author

yukiarai commented Nov 6, 2014

御回答ありがとうございました。とりあえず、setIgnoreEmptyLines(true)は指定せず、自前で、空行にあたったときの制御を行う形で、いまいまは対応いたします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants