다음을 통해 공유


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필요합니다. 가 0이면 offset 에서 지정 origin한 위치여야 합니다. 가 양수이면 offset 에서 지정offset한 바이트 수로 origin 지정된 위치를 따라야 합니다.

스트림 길이를 초과하는 모든 위치를 찾는 것은 지원되지 않습니다.

또는 Seek 메서드를 사용하여 Read 닫힌 OracleBFile 에 액세스하려는 시도는 스트림을 OracleBFile 자동으로 다시 엽니다.

다음 C# 예제에서는 Oracle 테이블에서 이 스키마를 가정합니다.

(col1 number, col2 BFILE)  

이 예제에서는 및 Seek 메서드를 Read 사용하여 개체에 액세스하는 방법을 보여 줍니다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);  
        }  
    }  
}  

적용 대상