OracleBFile.Read(Byte[], Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membaca urutan byte dari aliran saat ini OracleBFile dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.
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
Parameter
- buffer
- Byte[]
Array byte. Ketika metode ini kembali, buffer berisi array byte yang ditentukan dengan nilai antara offset
dan (offset
+ count
) digantikan oleh byte yang dibaca dari sumber saat ini.
- offset
- Int32
Offset byte berbasis nol untuk buffer
mulai menyimpan data yang dibaca dari aliran saat ini.
- count
- Int32
Jumlah maksimum byte yang akan dibaca dari aliran saat ini.
Mengembalikan
Jumlah total byte yang dibaca ke dalam buffer. Ini mungkin kurang dari jumlah byte yang diminta jika banyak byte yang saat ini tidak tersedia, atau nol jika akhir file telah tercapai.
Pengecualian
Jumlah offset
dan count
lebih besar dari panjang buffer.
buffer
adalah referensi null (Nothing
di Visual Basic).
offset
atau count
negatif.
Koneksi yang BFILE
dikaitkan ditutup.
Terjadi kesalahan I/O.
Metode dipanggil setelah aliran ditutup atau dibuang.
Keterangan
Metode Read membaca maksimum count
byte dari aliran saat ini dan menyimpannya di buffer
awal di offset
. Posisi saat ini dalam aliran dimajukan dengan jumlah byte yang dibaca; namun, jika pengecualian terjadi, posisi saat ini dalam aliran tetap tidak berubah.
Read mengembalikan jumlah byte yang dibaca. Nilai yang dikembalikan adalah nol hanya jika posisi saat ini berada di akhir aliran.
Read akan memblokir hingga setidaknya satu byte data dapat dibaca, jika tidak ada data yang tersedia.
Read mengembalikan 0 hanya ketika akhir file telah tercapai.
Read bebas untuk mengembalikan lebih sedikit byte daripada yang diminta bahkan jika akhir aliran belum tercapai.
Setiap upaya untuk mengakses tertutup OracleBFile menggunakan Read metode atau Seek membuka OracleBFile kembali aliran secara otomatis.
Contoh C# berikut mengasumsikan skema ini dalam tabel Oracle:
(col1 number, col2 BFILE)
Contoh menunjukkan menggunakan Read metode dan Seek untuk mengakses OracleBFile objek.
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);
}
}
}