- - PR -
CSVファイル読込み → データ保持について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-31 15:50
どもです。がるです。
んっと。takashiさんが載せられているURLの通りになります。 強いて補足するとすると、 「項目そのものにカンマが含まれている場合は、項目全体を"で囲って出力します。」 は正しくは 「項目そのものにカンマや改行が含まれている場合は、項目全体を"で囲って出力します。」 です。 これで、データに何が来ても対応可能…なはずです。 # しまったs-jisとかチェックしてないや(苦笑 ちなみに、こういった仕様のおかげで、個人的に作ったCSV用の セパレータは「状態遷移」バリバリ系の設計になってます(苦笑 | ||||||||
|
投稿日時: 2005-10-31 16:12
個人的な意見ですが.....
取り込み時の汎用性よりも、後続処理での使い勝手を第一に考えるべきだと思います。 確かに、ListやHashMapを使うことにより、CSVファイル→データオブジェクトの変換そのもについてはすっきりとしたコードを書くことが可能だとは思います。 ですが、このやり方だと、後続処理に BigDecimal price = (BigDecimal) map.get("price"); と言ったコードを強要させますよね? それは、あまりにも酷い仕打ちかと思うんですが..... ですので、 BigDecimal price = rec.getPrice(); と、簡単に取り扱える様にしてあげるべきだと思います。 | ||||||||
|
投稿日時: 2005-10-31 16:23
がるです。
ちょろっと突っ込み、程度なので軽く読み流していただけると。
これ自体はそうだと思うのですが。
これは、単純に「上に一枚ラッピングクラス」で片付くと 思うのですがどんなもんでしょうか? ラッピングすると、案外「取り込み時の汎用性」と 「後続処理での使い勝手」って両立させやすいように 思うので。 以上、余談でした。 | ||||||||
|
投稿日時: 2005-10-31 17:12
inaです。どうもです。
すみません、言葉足らずでしたね。 おっしゃる通りラップすればよろしいんですが、「汎用ユーティリティを作って、はいお終い。使う側は get("xxxx")で使ってね」ってなってしまうと嫌だなぁ と思ったので、「使う側の事もちゃんと考えてあげてね」と思って書きました。 すみませんでした。 | ||||||||
|
投稿日時: 2005-10-31 17:27
takashiさん、MMXさん、参考になるものありがとうございます。
まだじっくりはみれてませんが、検討させていただきます。 と思ってたら、がるがるさんありがとうござます。 すっきりしました。 現状は仕様上使わないですが、勉強になります。 inaさん たしかに呼び出す側に関してはこれはしんどいです。 というのも、Javadocに使い方を書いていて、取得方法が 大変と気づいたので(遅い 汗 ) がるがるさんのいうようにラッピング か同クラス内に取得用メソッドを作成しようかと考えてました。 みなさん貴重なご意見ありがとうございます。 |