OracleBFile.Read(Byte[], Int32, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli OracleBFile akıştan bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir.
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
Parametreler
- buffer
- Byte[]
Bayt dizisi. Bu yöntem döndürdüğünde arabellek, ve (offset
+ count
) arasındaki offset
değerlerin geçerli kaynaktan okunan baytlarla değiştirdiği belirtilen bayt dizisini içerir.
- offset
- Int32
Geçerli akıştan okunan verileri depolamaya başlayabileceğiniz sıfır tabanlı bayt uzaklığı buffer
.
- count
- Int32
Geçerli akıştan okunacak en fazla bayt sayısı.
Döndürülenler
Arabelleğe okunan toplam bayt sayısı. Bu, şu anda kullanılabilir sayıda bayt yoksa istenen bayt sayısından az veya dosyanın sonuna ulaşıldıysa sıfır olabilir.
Özel durumlar
ve count
toplamı offset
arabellek uzunluğundan daha büyüktür.
buffer
bir null başvurudur (Nothing
Visual Basic'te).
offset
veya count
negatiftir.
ile ilişkilendirilen BFILE
bağlantı kapatılır.
G/ç hatası oluştu.
Akış kapatıldıktan veya atıldıktan sonra yöntemler çağrıldı.
Açıklamalar
Read yöntemi geçerli akıştan en fazla count
bayt sayısını okur ve başında depolar buffer
offset
. Akış içindeki geçerli konum, okunan bayt sayısıyla gelişmiştir; ancak bir özel durum oluşursa akış içindeki geçerli konum değişmeden kalır.
Read okunan bayt sayısını döndürür. Dönüş değeri yalnızca konum şu anda akışın sonundaysa sıfırdır.
Read , kullanılabilir veri olmaması durumunda en az bir bayt veri okunana kadar engeller.
Read yalnızca dosyanın sonuna ulaşıldığında 0 döndürür.
Read akışın sonuna ulaşılmasa bile istenenden daha az bayt döndürmek ücretsizdir.
veya yöntemleri kullanılarak Read kapatılan OracleBFile bir akışa erişme girişimleri akışı otomatik olarak yeniden açarOracleBFile.Seek
Aşağıdaki C# örneği, bu şemanın bir Oracle tablosunda olduğunu varsayar:
(col1 number, col2 BFILE)
Örnekte bir OracleBFile nesneye erişmek için ve Seek yöntemlerinin kullanılması Read gösterilmektedir.
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);
}
}
}