2

次の python コマンドを使用して生成されたブロブを含む sql テーブルがあります: sqlite3.Binary(numpy.float64(array)) または sqlite3.Binary(array)。

データベースを保存しましたが、Java で JDBC を使用してロードしたいと考えています。getBlob メソッドは廃止されたようですが、getBytes("myarray") を使用して配列を取得できます。その時点から、フロートまたはダブルを元に戻す方法は不明です。インターネットで、多かれ少なかれ同一の「ソリューション」をいくつか見つけました。現時点では、以下に参加する方法のようなものを使用していますが、期待される浮動小数点値が得られません。私は何を間違っていますか、何を忘れていますか?

static float[] ConvertByteArrayToFloat(byte[] bytes)
{
    float[] floats = new float[bytes.length / 8];
    ByteBuffer buf2 = ByteBuffer.wrap(bytes);
    for (int i = 0; i < floats.length; i++){
        floats[i] = buf2.getFloat(i*8);
    }
    return floats;
}
4

0 に答える 0