0

誰かがJavaを使用してBLOBを含むテーブルをCSVにエクスポートする方法を教えてもらえますか?そして、後でそれらをインポートします。この問題に関するいくつかの概念と、物事を説明するのに役立ついくつかのコードがあります。ありがとう。

4

1 に答える 1

2

私だったら、バイナリ データをエンコードして、他のフィールドと同じように書き出すでしょう。Apache Commonsには、このための優れた API があります。必要に応じて、Base32 または Base64 バイナリ エンコーダーを使用します。これは URL エンコーディングと呼ばれる可能性がありますが、100% 確実ではありません... 概念は同じです。バイナリ データを取得して文字列としてエンコードするだけです。

byte[] myBlobData = \\ Retrieve from database
Base32 encoder = new Base32();
String encodedData = encoder.encodeToString(myBlobData);
// Write out data as you normally would for a CSV file

そして、それを読み戻すには、逆の操作を行います。

String encodedData = \\ Read from file
byte[] myBlobData = encoder.decode(encodedData);

これはあなたにとってうまくいくと思います。URL エンコーディング (または同様のエンコーディング) は、バイナリ データを文字列として安全に送信できるように設計されているため、これに適しています。Apache Commons ライブラリを使用したくない場合は、Java のURLEncoderを使用して取得できる可能性があります。

于 2012-08-16T23:47:36.973 に答える