Bagikan melalui


IDataInput.ReadUTF Metode

Definisi

Membaca dalam string yang telah dikodekan menggunakan format UTF-8 yang dimodifikasi.

[Android.Runtime.Register("readUTF", "()Ljava/lang/String;", "GetReadUTFHandler:Java.IO.IDataInputInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public string? ReadUTF ();
[<Android.Runtime.Register("readUTF", "()Ljava/lang/String;", "GetReadUTFHandler:Java.IO.IDataInputInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member ReadUTF : unit -> string

Mengembalikan

string Unicode.

Atribut

Pengecualian

jika akhir input tercapai sebelum permintaan baca dapat dipenuhi.

jika terjadi kesalahan I/O saat membaca.

Keterangan

Membaca dalam string yang telah dikodekan menggunakan format UTF-8 yang dimodifikasi. Kontrak readUTF umum adalah bahwa ia membaca representasi string karakter Unicode yang dikodekan dalam format UTF-8 yang dimodifikasi; string karakter ini kemudian dikembalikan sebagai String.

Pertama, dua byte dibaca dan digunakan untuk membangun bilangan bulat 16-bit yang tidak ditandatangani dengan cara yang tepat dengan readUnsignedShort metode . Nilai bilangan bulat ini disebut panjang UTF dan menentukan jumlah byte tambahan yang akan dibaca. Byte ini kemudian dikonversi menjadi karakter dengan mempertimbangkannya dalam grup. Panjang setiap grup dihitung dari nilai byte pertama grup. Byte yang mengikuti grup, jika ada, adalah byte pertama dari grup berikutnya.

Jika byte pertama grup cocok dengan pola 0xxxxxxx bit (di mana x berarti "mungkin 0 atau 1"), maka grup hanya terdiri dari byte tersebut. Byte diperluas nol untuk membentuk karakter.

Jika byte pertama grup cocok dengan pola 110xxxxxbit , maka grup terdiri dari byte a tersebut dan byte bkedua . Jika tidak ada byte b (karena byte adalah byte a terakhir yang akan dibaca), atau jika byte b tidak cocok dengan pola 10xxxxxxbit , maka dilemparkan UTFDataFormatException . Jika tidak, grup dikonversi ke karakter:

{@code (char)(((a & 0x1F) << 6) | (b & 0x3F))
            }

Jika byte pertama grup cocok dengan pola 1110xxxxbit , maka grup terdiri dari byte a tersebut dan dua byte b lagi dan c. Jika tidak ada byte c (karena byte a adalah salah satu dari dua byte terakhir yang akan dibaca), atau byte b atau byte c tidak cocok dengan pola 10xxxxxxbit , maka dilemparkan UTFDataFormatException . Jika tidak, grup dikonversi ke karakter:

{@code
            (char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
            }

Jika byte pertama grup cocok dengan pola 1111xxxx atau pola 10xxxxxx, maka akan UTFDataFormatException dilemparkan.

Jika akhir file ditemui kapan saja selama seluruh proses ini, maka akan EOFException dilemparkan.

Setelah setiap grup dikonversi menjadi karakter oleh proses ini, karakter dikumpulkan, dalam urutan yang sama di mana grup yang sesuai dibaca dari aliran input, untuk membentuk String, yang dikembalikan.

Metode writeUTF antarmuka DataOutput dapat digunakan untuk menulis data yang cocok untuk dibaca dengan metode ini.

Dokumentasi Java untuk java.io.DataInput.readUTF().

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

Lihat juga