OracleBFile.Seek(Int64, SeekOrigin) メソッド

定義

現在の OracleBFile ストリーム上の位置を設定します。

public:
 override long Seek(long offset, System::IO::SeekOrigin origin);
public override long Seek(long offset, System.IO.SeekOrigin origin);
override this.Seek : int64 * System.IO.SeekOrigin -> int64
Public Overrides Function Seek (offset As Long, origin As SeekOrigin) As Long

パラメーター

offset
Int64

原点を基準としたバイト オフセット。 offsetが負の値の場合、新しい位置は、originで指定された位置の前に、offsetで指定されたバイト数だけ先行します。 offsetが 0 の場合、新しい位置はoriginで指定された位置になります。 offsetが正の場合、新しい位置は、originで指定されたバイト数でoffset指定された位置に従います。

origin
SeekOrigin

新しい位置を取得するために使用される参照ポイントを示す System.IO.SeekOrigin 型の値。

返品

現在のストリーム内の新しい位置。

例外

負の値またはストリームの長さを超える位置を設定しようとしました。

ストリームが閉じられたか破棄された後、メソッドが呼び出されました。

注釈

offsetが負の値の場合、新しい位置は、originで指定された位置の前に、offsetで指定されたバイト数だけ前に置く必要があります。 offsetが 0 の場合、新しい位置は origin で指定された位置である必要があります。 offsetが正の場合、新しい位置は、originで指定されたバイト数でoffsetで指定された位置に従う必要があります。

ストリームの長さを超える場所へのシークはサポートされていません。

OracleBFileまたはReadメソッドを使用して閉じたSeekにアクセスしようとすると、OracleBFile ストリームが自動的に再度開きます。

次の C# の例では、Oracle テーブルでこのスキーマを想定しています。

(col1 number, col2 BFILE)

この例では、 Read メソッドと Seek メソッドを使用して、 OracleBFile オブジェクトにアクセスする方法を示します。

byte[] buffer = new byte[100];
OracleDataReader dataReader = command.ExecuteReader();
using (dataReader) {
    if (dataReader.Read()) {
            OracleBFile BFile = dataReader.GetOracleBFile(1);
        using (BFile) {
            BFile.Seek(0, SeekOrigin.Begin);
            BFile.Read(buffer, 0, 100);
        }
    }
}

適用対象