- PR -

配列の格納の仕方

1
投稿者投稿内容
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2009-01-09 16:57
csvファイルのデータ配列に取込んでいます。

中身は
aaa,aaa,aaa,aaa,,,bbb,bbb,bbb,,,
といった内容です。

aaaの後のnullは配列に"null"として格納していますが
bbbの後のnullが配列に格納できません。

java.lang.ArrayIndexOutOfBoundsExceptionエラー
が出力されてしまいます。
中身が
aaa,aaa,aaa,aaa,,,bbb,bbb,bbb,,,last
のように最後尾にデータが入っているとエラーが発生しません。


考え方をご教授願います。
マリン
常連さん
会議室デビュー日: 2006/05/28
投稿数: 41
投稿日時: 2009-01-09 17:09
ファイルから読み込んだcsv文字列を配列に分割する際に単純にxxx.split(",")などとしていませんか?
javadocに書いてありますが、2番目の引数で負数を指定してやらないと末尾の空文字列が結果配列に含まれないと思います。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html#split(java.lang.String)

ただ、nullと空文字列は別物だと思うのでそこがちょっと気になりますね…?

[ メッセージ編集済み 編集者: マリン 編集日時 2009-01-09 17:18 ]
朝日奈 ありす
ベテラン
会議室デビュー日: 2007/10/28
投稿数: 57
お住まい・勤務地: 北の都
投稿日時: 2009-01-10 02:02
上記メソッドよりは
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html#split(java.lang.String,%20int)

",,,,,".split(",", -1) ね


[ メッセージ編集済み 編集者: 汀 編集日時 2009-01-10 02:02 ]
1

スキルアップ/キャリアアップ(JOB@IT)