Bagikan melalui


InputStream.ReadNBytes Metode

Definisi

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

Byte[]

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.

Berlaku untuk