上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    逆襲のXMLEncoder

    前回Javaオブジェクトのシリアライズの話題に触れたが、ファイル(出力ストリーム)に出力するオブジェクトはバイナリーになってしまう。

    そのため、保存したものをちょっと自分でのぞいて見たくてもできないし、ほかのアプリケーションでそのデータを利用することも難しい。

    そこで、Java1.4から、もうすこし汎用性を持たせるために、XMLEncoder/XMLDecorderというものが用意されたようだ。
    XML SQUAREへのリンク

    というわけでどうしてもこれが使ってみたかった。

    なのでやってみたわけだが、4時間ほどはまってしまいました。

    まず、何も読まずに、サンプルコードをまね(上記リンクのサイト参照)て、やってみるが、中身のほとんどないXML文章が作成されて終了した。

    う~ん。ここは「素直にあきらめよう。」ということで、あきらめましたとさ

    しかし、いつものことながら、30分ほどたってから、「どうしてできないんだ!」という怒りに駆られ再挑戦!。よくよくドキュメントを見てみると、JavaBeansの規約に沿っていないといけないことが判明した。

    1.アクセサを用意する
    2.引数のないコンストラクタを用意する

    これだけらしい。

    Exlipseの自動アクセサ生成機能を使って一気にやってしまおう。

    「バシバシバシバシ!!!!」
    ソース保存
    コンパイル
    アプリ実行
    保存ボタンぽちっ
    java.lang.IllegalAccessException: Class sun.reflect.misc.Trampoline can not access a member of class mogemoge with modifiers "public"
    Continuing ...
    java.lang.RuntimeException: failed to evaluate: =Class.new();
    Continuing ...

    (つづく)
    帰ってきた・・・

    コメントの投稿

    非公開コメント

    Google広告
    Amazon商品紹介
    Amazon
    楽天
    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    プロフィール

    アブラクサス太郎

    Author:アブラクサス太郎
    FC2ブログへようこそ!

    カテゴリ
    検索フォーム
    RSSリンクの表示
    リンク
    ブロとも申請フォーム

    この人とブロともになる

    QRコード
    QR
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。