Javaと情熱のあいだ

カステラとドーナツと珈琲

java

JUnit 4.5 Released

JUnitの4.5が出てます。

Apache Commons JXPath 1.3 Released

Apache Commons JXPathの1.3が出てます。

POI3.1で出力したファイルのExcel読み込みエラー

シートの読込 ↓ 読み込んだシートに、setCellValue ↓ FileOutputこの後、出力されたファイルをExcelで開くと、 読み取れないデータが存在します。ブックを回復しますか? などのエラーが出て散々調査しても原因が分からずだいぶ放置していたのですが 最近、…

tumblr_photo

tumblrをローカルでゆっくり見たいなーと思って tumblrの指定ユーザの画像を丸ごとダウンロードするツールを作成。 機能はこちら 画像重複チェック(同じ画像はダウンロードしない) 差分ダウンロード(前回との差分だけをダウンロード) 拡張子フィルタ(指定拡…

Eclipse Memory Analyzerの使い方

Eclipse Memory Analyzerの使い方がよく分からなかったのでメモ。 1.Eclipseのプラグインなので適当にインストール。 2.Eclipseの実行の構成を開いて、引数タブのVM引数に以下のどちらかを設定する。 hprofファイルだけを出力します。 -Xrunhprof:heap=dump,…

JavaとExcelのあいだ

POIでExcelファイルに書き込んだらoffice2003で開けなかった・・・orz しょうがないので、JExcelApiを使用。 なんとか書き込み後にoffice2003で開けたけど、JExcelApiは使いにくいしTYPEの処理が微妙。 POIの次のバージョンに期待しよう。 参考にしたのはこ…

Apache Ant 1.7.1 Released

Apache Antの1.7.1が出てます。

SuperCSVのサンプル弐

以前作った郵便番号CSVの読み込みサンプルをベースに改造。 CSVの一列をBeanにマッピングするメゾットを使用して一行単位で読書きします。 今回はCSVの指定列だけを読み込めるように指定してあります。 読み込みたくない列にはNULLを設定することでその列を…

変更(set)しかできないListのサンプル

通常のListは、追加(add)、削除(remove)、変更(set)の処理を操作することがで きますが。 FixedSizeListは変更(set)以外の処理を実行した場合例外処理とします。 あんまり使い道は無いかも。 材料はこちら org.apache.commons.collections /** * * 実行。 * …

オブジェクトを変換するListのサンプル

Transformerを実装して、Listにオブジェクトを追加する際に変換を行います。 ソースをぱっと見ただけでは何してる分かりにくいし、あんまり実用的ではないかも。 サンプルでは、IntegerをStringに変換します。 材料はこちら。 org.apache.commons.collection…

条件付ArrayListのサンプル

Listに条件を付加することで、条件に当てはまらないオブジェクトを追加した場合に例外をスローする。 ちなみに、既に条件外のオブジェクトがListにあると条件の付加時にエラーになる。 サンプルではNULLを追加できないListを作ります。 材料はこちら。 org.a…

バッファのサンプル

コレクションのサイズは固定していて、満杯になるとオブジェクトが先入れ先出し(FIFO)方式で削除されます。よほど特殊なことしないとあんまり使い道は無いかも。 材料 org.apache.commons.collections org.apache.commons.lang /** * * 実行。 * @throws E…

簡易メモリーキャッシュ

簡易のオブジェクト用メモリーキャッシュを実装します。 実装といってもLinkedHashMapを継承してチョット機能を追加するだけ。 機能一覧 ・キャッシュするオブジェクトの最大個数を指定できる ・キャッシュが最大個数を超えた場合一番最後オブジェクトを削除…

Bagを実装するサンプル

HashBagを参考にBeanBagを実装。 機能としては、Listに格納されたBeanの指定したメンバを集計するだけです。 材料はこの辺り org.apache.commons.beanutils org.apache.commons.collections org.apache.commons.lang /** * * 実行 * @throws Exception 例外 …

System.exitをEclipseでテストするサンプル

テストにはdjUnitを使います。 実行する場合はdjUnitで実施しないとテストを実行することができない。 また、仮想モック・オブジェクトを有効にしないといけないので 「プロジェクト」→「プロパティ」→「djUnit」を開いて 「仮想モック・オブジェクト」タブ…

Listに格納されたオブジェクトを集計するサンプル

Listに格納されたオブジェクトを引っ張りだして集計してくれる。 使い方しだいでは便利。 HashBagはorg.apache.commons.collections.bag.HashBagを使わないと怒られる。 材料はこちら org.apache.commons.collections org.apache.commons.lang /** * * 実行…

クロージャのサンプル

for文とかをつかないでList内にある総てのオブジェクトに対して同じ処理を実行する。材料はこの辺り org.apache.commons.collections /** * * 実行。 * @throws Exception 例外 */ public void execute() throws Exception { final List<String> list = new ArrayList<String></string></string>…

Beanを動的に作るサンプル

クラスとして定義しないで、Beanを動的に作る Mapと何が違うのかというと、org.apache.commons.beanutilsとかの メソッドをそのまま使えることぐらいかな。使い方次第では色々出来そう。 材料は org.apache.commons.beanutils /** * * 実行。 * @throws Exce…

Commons Release

Commons Lang 2.4と Commons Math 1.2が リリースされてる。Mathはあんまり使ったこと無いけど、漁ってみようかな。

Bean間で型の異なるメンバにコピーするサンプル

Converterを実装してコンバタを作成するサンプル 材料は org.apache.commons.beanutils /** * * 実行 * @throws Exception 例外 */ public void execute() throws Exception { final TestBean testBean = new TestBean(1); final SampleBean sampleBean = ne…

クラス名を指定して引数の有るインスタンスを簡単に生成する

commonsを使用して生成しても、書くコードが2,3行短くなるだけかも・・・。材料はorg.apache.commons.beanutils public class ConstructorUtilsExample { /** * 確認用文字列 */ private String hoge; /** * * コンストラクタ。 */ public ConstructorUtilsE…

Listに格納されたBeanの指定メンバを一括初期化するサンプル

BeanPropertyValueChangeClosureにメンバ名を指定して CollectionUtils.forAllDoで実行するだけで メンバを指定値で一括初期化することができるが初期化の条件を指定できないのが惜しい。 条件を指定できるメソッドが他にもあるのかな〜。BeanPropertyValueC…

Listに格納されたBeanを抽出するサンプル

for、if文を使用しないでListに格納されたBeenを特定の条件にしたがって抽出する。 まずBeanPredicate、PredicateUtilsで条件を作成して CollectionUtils.selectで実行すると条件に合ったBeanが抽出される。 条件はAND、OR、NULL、NOTNULLなどが指定でき値が…

BeanをMapとして使う

BeanをMapと同じように使うには commons.beanutilsのBeanMapを使う。 メンバに無いkeyを設定したらどうなるだ?と思ったらちゃんと そんなメンバありませんと言ってIllegalArgumentExceptionを返してくれた。 /** * * 実行。 * @throws Exception 例外 */ pu…

JUnitでprivateメソッドをテストする方法

標準のJUnitはprivateメソッドの出来ないので なんかいい方法はないかな〜と思っていたら世界には同じような ことを考える人がいらっしゃるようで、そしてそれを実現させてる 方もいらっしゃるようです。このJUnit-addonsを 使えば、privateメソッドのテスト…

SuperCSVのサンプル

CSVライブラリの決定版? - SuperCSV 1.0登場郵便番号CSVの読み込みサンプルを作ってみる。 CSVの一列をBeanにマッピングするメゾットを使用して一行単位で処理する。郵便番号CSV SuperCSV-1.16 commons-lang-2.3←Beanの中身を出力するため。BeanAddress.java…

コネクションプールのサンプル

材料は、Apache Commonsから調達 commons-dbcp commons-pool import java.sql.Connection; import java.sql.SQLException; import org.apache.commons.dbcp.ConnectionFactory; import org.apache.commons.dbcp.DriverManagerConnectionFactory; import org.…

for文の高速化

for文でList、Mapを回す場合は Iteratorを使ったほうが高速である。 Java6だと List<Integer> test = new ArrayList(); //〜testに値を追加する処理〜 for(Integer i : test){ //〜処理〜 } で回すとさらに早くなる。 普通のfor文からすると、倍ぐらい早くなる。</integer>