skillup

技術ブログ

Java

CSVの入出力に関して

投稿日:

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

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

面倒なポイントとしては

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

ですかね。

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

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

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

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

インストール

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

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

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

使い方

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

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

http://badbivouac.blog.fc2.com/blog-entry-5.html

ドキュメントはここですね。

 https://commons.apache.org/proper/commons-csv/archives/1.1/apidocs/index.html

ってかapache commons、様々なライブラリありますね。

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

-Java
-

執筆者:


comment

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

関連記事

no image

try-with-resourceの使い方

先日ファイル入出力の処理をいろいろと書いていたところ、例外処理について社長からアドバイスをいただきました。 Contents1 ファイルの入出力について2 try-with-resource3 参考リ …

no image

複合コンポーネント

JSFではラベルやテキストといったコンポーネントをグループ化し、一つのまとまりとすることができます。 メリットとしては似たような部分をテンプレート化しておくことで保守性を向上させることができます。 さ …

no image

Fileオブジェクトの操作

業務でテキストファイルを読み込んで、別形式に変換して出力みたいなアプリを作ったときにファイルオブジェクトについていろいろ調べたんでまとめておきます。 Contents1 ファイルオブジェクトとは?2 …

no image

mavenのリモートリポジトリについて

JPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。 億劫というかいろいろとリスクがありますね。 問題点としてはコンパイルするときにエラーが検知できなかった …

no image

JPQLでの算術関数

複雑なJPQLを書いていると、通常のレコードの取り出しだけではなく、合計(SUM)や算出(COUNT)などのいわゆる算術関数を使うことが一般的です。 JPQLでもこれらを通常通り扱うことができます。 …