skillup

技術ブログ

Java

CSVの入出力に関して

投稿日:2015年7月10日 更新日:

業務でCSVの入出力と格闘中。

まあよくある頻出の作業だったりするんですが、自前でやるとなかなか面倒です。

面倒なポイントとしては

  • クオートのエスケープ
  • カンマのエスケープ
  • ヘッダーとの結合

ですかね。

前職でもそうだったんですけど、こういう細かい作業を自前でやると上記のようなところで頻繁にバグが出ます。なので自力でやるのはできれば避けたいところ・・・

まあ一定のスキルを身につけるまでの最初のスキルアップの段階では無駄にはならないと思いますが。

社長に相談するとJavaで有名なライブラリ(Apache commons)があるということでさっそく探して使ってみることに。

探してみるとApache Commons CSVというライブラリがあり、歴史もあってなかなかよさげなのでこれを使ってみることにしました。

インストール

インストールは例によってmavenで行います。

いやー別のメンバーとも共有できますし、ほんと便利ですね・・・

もうなしでは作業できないかもです。

使い方

InputStreamを引数にとり、そのあとは各種設定をして、parseするとList形式でデータが取れます。

ちなみに参考にしたのは↓ここ

Commons CSVの使い方(読み込み)

PerlのCPANやPHPのPearに近いかんじのようなので積極的にどんどんと組み込んでいこうと思います。

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

日付がらみの処理に関して(MySQL&Java)

MySQL触りだして3年ぐらいたつんですがいまだに整理できないことが多いです。(特に日付がらみ) ちょっとJavaのネタと合わせて整理しておこうかなーと思います。 Contents1 MySQLの日付 …

no image

文字列のENUM化

文字列をENUM化したいときの処理について リンク集です。 ENUMが文字だけのとき(key=>valueタイプでない時)、key=>valueタイプの時両方OKのようです。 enum 定 …

no image

pretty-configでのファイルアップロード

先日、こちらのエントリーでpretty-configを使うとファイルのアップロードができない、というエラーが起こっていたのですが、本日社長により解決していただきました。 原因としてはURLがスラッシュ …

no image

メソッドのtransient

エンティティを作成するときに、データベースのカラムにない値をプロパティを持たせるためにはtransientという修飾子が必要です。 参考リンク フィールド以外のプロパティをエンティティに持たせる 通常 …

no image

jenkinsのオートデプロイ

久々にJavaやりました。 Contents1 やりたいこと2 ハマりポイント2.1 Antでのjobの設定2.2 jenkinsでビルドできない2.3 jenkinsのオートデプロイ2.4 SSHで …