InputStream.ReadNBytes 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.
Overload
ReadNBytes(Int32) |
Membaca hingga jumlah byte tertentu dari aliran input. |
ReadNBytes(Byte[], Int32, Int32) |
Membaca jumlah byte yang diminta dari aliran input ke dalam array byte yang diberikan. |
ReadNBytes(Int32)
Membaca hingga jumlah byte tertentu dari aliran input.
[Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)]
public virtual byte[]? ReadNBytes (int len);
[<Android.Runtime.Register("readNBytes", "(I)[B", "GetReadNBytes_IHandler", ApiSince=33)>]
abstract member ReadNBytes : int -> byte[]
override this.ReadNBytes : int -> byte[]
Parameter
- len
- Int32
jumlah maksimum byte yang akan dibaca
Mengembalikan
array byte yang berisi byte yang dibaca dari aliran input ini
- Atribut
Keterangan
Membaca hingga jumlah byte tertentu dari aliran input. Metode ini memblokir hingga jumlah byte yang diminta telah dibaca, akhir aliran terdeteksi, atau pengecualian dilemparkan. Metode ini tidak menutup aliran input.
Panjang array yang dikembalikan sama dengan jumlah byte yang dibaca dari aliran. Jika len
nol, maka tidak ada byte yang dibaca dan array byte kosong dikembalikan. Jika tidak, hingga len
byte dibaca dari aliran. Kurang dari len
byte dapat dibaca jika akhir aliran ditemui.
Ketika aliran ini mencapai akhir aliran, pemanggilan lebih lanjut dari metode ini akan mengembalikan array byte kosong.
Perhatikan bahwa metode ini ditujukan untuk kasus sederhana di mana lebih mudah untuk membaca jumlah byte yang ditentukan ke dalam array byte. Jumlah total memori yang dialokasikan oleh metode ini sebanding dengan jumlah byte yang dibaca dari aliran yang dibatasi oleh len
. Oleh karena itu, metode ini dapat dipanggil dengan aman dengan nilai memori yang sangat besar yang len
disediakan cukup tersedia.
Perilaku untuk kasus di mana aliran input ditutup secara asinkron, atau utas yang terganggu selama baca, sangat spesifik aliran input, dan oleh karena itu tidak ditentukan.
Jika terjadi kesalahan I/O membaca dari aliran input, maka dapat melakukannya setelah beberapa, tetapi tidak semua, byte telah dibaca. Akibatnya aliran input mungkin tidak berada di akhir aliran dan mungkin dalam keadaan tidak konsisten. Sangat disarankan agar aliran segera ditutup jika terjadi kesalahan I/O.
Ditambahkan dalam 11.
Dokumentasi Java untuk java.io.InputStream.readNBytes(int)
.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.
Berlaku untuk
ReadNBytes(Byte[], Int32, Int32)
Membaca jumlah byte yang diminta dari aliran input ke dalam array byte yang diberikan.
[Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)]
public virtual int ReadNBytes (byte[]? b, int off, int len);
[<Android.Runtime.Register("readNBytes", "([BII)I", "GetReadNBytes_arrayBIIHandler", ApiSince=33)>]
abstract member ReadNBytes : byte[] * int * int -> int
override this.ReadNBytes : byte[] * int * int -> int
Parameter
- b
- Byte[]
array byte tempat data dibaca
- off
- Int32
offset awal tempat b
data ditulis
- len
- Int32
jumlah maksimum byte yang akan dibaca
Mengembalikan
jumlah aktual byte yang dibaca ke dalam buffer
- Atribut
Keterangan
Membaca jumlah byte yang diminta dari aliran input ke dalam array byte yang diberikan. Metode ini memblokir hingga len
byte data input telah dibaca, akhir aliran terdeteksi, atau pengecualian dilemparkan. Jumlah byte yang benar-benar dibaca, mungkin nol, dikembalikan. Metode ini tidak menutup aliran input.
Dalam kasus di mana akhir aliran tercapai sebelum len
byte telah dibaca, maka jumlah aktual byte yang dibaca akan dikembalikan. Ketika aliran ini mencapai akhir aliran, pemanggilan lebih lanjut dari metode ini akan mengembalikan nol.
Jika len
nol, maka tidak ada byte yang dibaca dan 0
dikembalikan; jika tidak, ada upaya untuk membaca hingga len
byte.
Bacaan byte pertama disimpan ke dalam elemen b[off]
, yang berikutnya di ke b[off+1]
, dan sebagainya. Jumlah byte yang dibaca adalah, paling banyak, sama dengan len
. Biarkan k menjadi jumlah byte yang benar-benar dibaca; byte ini akan disimpan dalam elemen b[off]
melaluib[off+
k-1]
, meninggalkan elemen b[off+
k]
melalui b[off+len-1]
tidak terpengaruh.
Perilaku untuk kasus di mana aliran input ditutup secara asinkron, atau utas yang terganggu selama baca, sangat spesifik aliran input, dan oleh karena itu tidak ditentukan.
Jika terjadi kesalahan I/O membaca dari aliran input, maka dapat melakukannya setelah beberapa, tetapi tidak semua, byte b
telah diperbarui dengan data dari aliran input. Akibatnya aliran input dan b
mungkin dalam keadaan tidak konsisten. Sangat disarankan agar aliran segera ditutup jika terjadi kesalahan I/O.
Ditambahkan dalam 9.
Dokumentasi Java untuk java.io.InputStream.readNBytes(byte[], int, int)
.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.