- - PR -
インターフェースのシリアライズについて
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-07-27 11:04
(1) ByteArrayOutputStream(以下,baos)を構築する。
(2) baosをラップさせたObjectOutputStream(以下,oos)を構築する。 (3) oos.writeObject()を呼び出し,シリアライズしたいオブジェクトをbaosへ書き込む。 (4) baos.toByteArray()を呼び出し,byte列を取得する。 (5) (4)で取得したbyte列をBLOBの出力ストリームへ書き込む。 でいかがでしょうか。 BLOBへのbyte列の書き込みや,BLOBデータをDBに登録する手順は,OTN Japanより配布されているドキュメント("JDBC開発者ガイド"だと思いました...)に詳しく載っています。 また,Oracle8i版のドライバとなると,Oracle JDBC Driver依存のAPIを直接呼び出す必要があるはずです。 _________________ Kan Ogawa k-ogawa@users.sourceforge.jp | ||||
|
投稿日時: 2004-07-27 21:27
みなさん、アドバイスありがとうございます。
何とか自力でimageIconをシリアライズし受け渡しすることができました。 しかし、BLOBに格納するところで詰まってしまいました・・・ BLOBに格納するところのアドバイスをお願いできないでしょうか? | ||||
|
投稿日時: 2004-07-27 22:32
ただ「詰まってしまった」ではアドバイスが難しいので、何ができて何ができていないのかを 明確にしてください。 | ||||
|
投稿日時: 2004-07-28 07:26
格納したイメージデータは最終的にどのように利用するんでしょうか?
その利用方法によっても、採るべき方法が変わってくると思います。 もしも、格納したデータを Java でしか扱わず、またその取り扱い(表示方法)も ImageIcon に限定されているのであれば、ImageIcon をシリアライズしたものを そのままデータベースに格納してしまえば良いと思います。 この方法は、再利用方法が限定されるので、オススメできません。 より一般的なのは、画像形式(png/jpeg/gif)のままデータベースに登録することでしょう。 この方法を採るのであれば、ImageIcon にしてシリアライズしたこと自体が失敗と言えます。 おそらく、png/jpeg/gif などの画像データを ImageIcon に変換したのだと思いますが、 ImageIcon に変換せずに元画像データを byte[] にして、そのまま扱った方が良いです。 | ||||
