public class SerialBlob extends Object implements Blob, Serializable, Cloneable
BLOB 値の直列化マッピングです。
SerialBlob クラスは、Blob オブジェクトからインスタンスを作成するためのコンストラクタを提供します。Blob オブジェクトは、SerialBlob オブジェクトを構築する前に、クライアントに SQL BLOB 値のデータを渡す必要があります。SQL BLOB 値のデータは、クライアント上で、Blob.getBytes メソッドによってバイト配列として生成されます。または、Blob.getBinaryStream メソッドによって未解釈のバイトストリームとして生成されます。
SerialBlob メソッドは、SerialBlob オブジェクトをバイト配列またはストリームとしてコピーできます。さらに、SerialBlob オブジェクト内で、指定されたバイトパターンや Blob オブジェクトを検索し、Blob オブジェクトを更新または切り詰めることもできます。
| コンストラクタと説明 |
|---|
SerialBlob(Blob blob)
指定された
Blob オブジェクトの直列化されたバージョンである SerialBlob オブジェクトを構築します。 |
SerialBlob(byte[] b)
指定された
byte 配列の直列化されたバージョンである SerialBlob オブジェクトを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
free()
このメソッドは、
Blob オブジェクトを解放して、保持されているリソースを解放します。 |
InputStream |
getBinaryStream()
この
SerialBlob オブジェクトを入力ストリームとして返します。 |
InputStream |
getBinaryStream(long pos, long length)
Blob 値の一部 (バイト位置 pos から長さ length バイト分) を格納した InputStream オブジェクトを返します。 |
byte[] |
getBytes(long pos, int length)
この
SerialBlob オブジェクトの指定の位置から、指定されたバイト数を別のバイト配列にコピーします。 |
long |
length()
この
SerialBlob オブジェクトのバイト配列のバイト数を取得します。 |
long |
position(Blob pattern, long start)
この
SerialBlob オブジェクト内で、指定の Blob オブジェクトが開始される位置を返します。検索は指定位置から開始されます。 |
long |
position(byte[] pattern, long start)
この
SerialBlob オブジェクト内で、指定されたバイトパターンが開始される位置を返します。検索は指定位置から開始されます。 |
OutputStream |
setBinaryStream(long pos)
この
Blob オブジェクトが表す BLOB 値への書き込みに使用できるストリームを取得します。 |
int |
setBytes(long pos, byte[] bytes)
この
Blob オブジェクトが表す BLOB 値へ指定されたバイト配列を pos の位置から書き込み、書き込まれたバイト数を返します。 |
int |
setBytes(long pos, byte[] bytes, int offset, int length)
この
Blob オブジェクトが表す BLOB 値へ指定された byte 配列の全部または一部を書き込み、書き込まれたバイト数を返します。 |
void |
truncate(long length)
この
Blob オブジェクトが表す BLOB 値を len バイトの長さに切り詰めます。 |
public SerialBlob(byte[] b)
throws SerialException,
SQLException
byte 配列の直列化されたバージョンである SerialBlob オブジェクトを構築します。
新しい SerialBlob オブジェクトは、byte 配列のデータで初期化されます。このため、未接続の RowSet オブジェクトは、データソースに手を加えずに直列化された Blob オブジェクトを作成できます。
b - 直列化される Blob オブジェクトのデータを格納する byte 配列SerialException - 直列化でエラーが発生した場合SQLException - SQL エラーが発生した場合public SerialBlob(Blob blob) throws SerialException, SQLException
Blob オブジェクトの直列化されたバージョンである SerialBlob オブジェクトを構築します。
新しい SerialBlob オブジェクトは、Blob オブジェクトのデータで初期化されます。このため、Blob オブジェクトは、あらかじめデータベースからクライアントへ SQL BLOB 値のデータを渡しておく必要があります。そうしないと、新しい SerialBlob オブジェクトはデータを持たないオブジェクトになります。
blob - この SerialBlob オブジェクトの構築に使用される Blob オブジェクト。null 以外。SerialException - 直列化でエラーが発生した場合SQLException - このコンストラクタに渡された Blob が null の場合。Blobpublic byte[] getBytes(long pos,
int length)
throws SerialException
SerialBlob オブジェクトの指定の位置から、指定されたバイト数を別のバイト配列にコピーします。
コピーされるバイト数がこの SerialBlob オブジェクトのバイト配列より長くなる場合、配列の長さに合わせて切り詰められます。
getBytes、インタフェース: Blobpos - この SerialBlob オブジェクト内のコピーされる最初のバイトの位置。1 から開始され、1 より小さい値にはならない。また、この SerialBlob オブジェクトの長さ以下でなければならないlength - コピーされるバイト数SerialBlob オブジェクトのコピー領域となるバイト配列。指定位置から指定のバイト数分続くSerialException - 指定された開始位置が範囲外にある場合Blob.setBytes(long, byte[])public long length()
throws SerialException
SerialBlob オブジェクトのバイト配列のバイト数を取得します。length、インタフェース: BlobSerialBlob オブジェクトのバイト配列のバイト数を示す longSerialException - エラーが発生した場合public InputStream getBinaryStream() throws SerialException
SerialBlob オブジェクトを入力ストリームとして返します。関連メソッド setBinaryStream とは異なり、SerialBlob が Blob オブジェクトによって作成されたか、または byte 配列によって作成されたかに関係なく、ストリームが生成されます。getBinaryStream、インタフェース: BlobSerialBlob のバイト配列を格納する java.io.InputStream オブジェクトSerialException - エラーが発生した場合setBinaryStream(long)public long position(byte[] pattern,
long start)
throws SerialException,
SQLException
SerialBlob オブジェクト内で、指定されたバイトパターンが開始される位置を返します。検索は指定位置から開始されます。position、インタフェース: Blobpattern - 検索対象のバイトパターンstart - この SerialBlob オブジェクト内で、検索が開始されるバイトの位置。最初の位置は 1。1 以上かつ、この SerialBlob オブジェクトの長さ以下でなければならないSerialBlob オブジェクト内で、指定されたバイトパターンが開始される位置。検索は指定位置から開始される。パターンが見つからない場合や開始位置が範囲外にある場合は -1。戻り値の位置番号は 1 から開始されるSerialException - blob の直列化中にエラーが発生した場合SQLException - データベースから BLOB 値にアクセスするときにエラーが発生した場合public long position(Blob pattern, long start) throws SerialException, SQLException
SerialBlob オブジェクト内で、指定の Blob オブジェクトが開始される位置を返します。検索は指定位置から開始されます。position、インタフェース: Blobpattern - 検索対象の Blob オブジェクトstart - この SerialBlob オブジェクト内で、検索が開始されるバイトの位置。最初の位置は 1。1 以上かつ、この SerialBlob オブジェクトの長さ以下でなければならないSerialBlob オブジェクト内で、指定された Blob オブジェクトが開始される位置。検索は指定位置から開始される。パターンが見つからない場合や 開始位置が範囲外にある場合は -1。戻り値の位置番号は 1 から開始されるSerialException - blob の直列化中にエラーが発生した場合SQLException - データベースから BLOB 値にアクセスするときにエラーが発生した場合public int setBytes(long pos,
byte[] bytes)
throws SerialException,
SQLException
Blob オブジェクトが表す BLOB 値へ指定されたバイト配列を pos の位置から書き込み、書き込まれたバイト数を返します。setBytes、インタフェース: Blobpos - 書き込みが開始される SQL BLOB 値の 位置。最初の位置は 1。1 以上かつこの SerialBlob オブジェクトの長さ以下でなければならない。bytes - この Blob オブジェクトを表す BLOB 値へ書き込まれるバイト配列SerialException - BLOB 値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、または設定されたオフセット値が無効な場合SQLException - データベースから BLOB 値にアクセスするときにエラーが発生した場合getBytes(long, int)public int setBytes(long pos,
byte[] bytes,
int offset,
int length)
throws SerialException,
SQLException
Blob オブジェクトが表す BLOB 値へ指定された byte 配列の全部または一部を書き込み、書き込まれたバイト数を返します。書き込みは、BLOB 値の pos の位置から開始され、書き込み先の指定されたバイト配列から len バイト書き込まれます。setBytes、インタフェース: Blobpos - 書き込みが開始される BLOB オブジェクトの位置。最初の位置は 1。1 以上かつこの SerialBlob オブジェクトの長さ以下でなければならない。bytes - この BLOB 値へ書き込まれるバイト配列offset - バイトの読み込みを開始する、byte 配列のオフセット。最初のオフセット位置は 0。0 以上かつこの byte 配列の長さ以下でなければならない。length - bytes バイトの配列から BLOB 値に書き込まれるバイト数。SerialException - BLOB 値にアクセスするときにエラーが発生した場合、設定された位置が無効な場合、設定されたオフセット値が無効な場合、書き込まれるバイト数が SerialBlob の長さを超えている場合、または長さとオフセットを合わせた値が Blob バッファーより大きい場合SQLException - データベースから BLOB 値にアクセスするときにエラーが発生した場合。getBytes(long, int)public OutputStream setBinaryStream(long pos) throws SerialException, SQLException
Blob オブジェクトが表す BLOB 値への書き込みに使用できるストリームを取得します。ストリームは pos の位置から開始します。このメソッドは、この SerialBlob オブジェクトが Blob によってインスタンス化されている場合に、setBinaryStream() 呼び出しを配下の Blob に転送します。この SerialBlob が byte 配列によってインスタンス化されている場合は SerialException がスローされます。setBinaryStream、インタフェース: Blobpos - 書き込みが開始される BLOB 値の位置。java.io.OutputStream オブジェクトSQLException - BLOB 値にアクセスするときにエラーが発生した場合SerialException - SerialBlob が setBinaryStream() をサポートする Blob オブジェクトによってインスタンス化されていない場合getBinaryStream()public void truncate(long length)
throws SerialException
Blob オブジェクトが表す BLOB 値を len バイトの長さに切り詰めます。truncate、インタフェース: Bloblength - この Blob オブジェクトが表す BLOB 値が切り詰められる長さ (バイト単位)SerialException - Blob 値にアクセスするときにエラーが発生した場合、または切り詰める長さが SerialBlob の長さよりも長い場合public InputStream getBinaryStream(long pos, long length) throws SQLException
Blob 値の一部 (バイト位置 pos から長さ length バイト分) を格納した InputStream オブジェクトを返します。getBinaryStream、インタフェース: Blobpos - 取得する部分値の最初のバイトまでのオフセット。Blob 内で最初のバイトの位置は 1length - 取得する部分値の長さ (バイト単位)Blob 値の一部を読み取ることのできる InputStream。SQLException - pos が 1 より小さい場合、pos が Blob 内のバイト数より大きい場合、または pos + length が Blob 内のバイト数より大きい場合public void free()
throws SQLException
Blob オブジェクトを解放して、保持されているリソースを解放します。Blob オブジェクト。free メソッドが一度呼び出されたあとは、オブジェクトは無効になります。free を複数回呼び出した場合、2 回目以降の free 呼び出しは何も行わないものとして扱われます。free、インタフェース: BlobSQLException - Blob のリソースの解放時にエラーが発生した場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.