IDataInput.ReadUTF Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Legge in una stringa codificata usando un formato UTF-8 modificato.
[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
Restituisce
stringa Unicode.
- Attributi
Eccezioni
se viene raggiunta la fine dell'input prima che la richiesta di lettura possa essere soddisfatta.
se si verifica un errore di I/O durante la lettura.
Commenti
Legge in una stringa codificata usando un formato UTF-8 modificato. Il contratto generale di readUTF
è che legge una rappresentazione di una stringa di caratteri Unicode codificata in formato UTF-8 modificato. Questa stringa di caratteri viene quindi restituita come .String
In primo luogo, due byte vengono letti e usati per costruire un intero senza segno a 16 bit esattamente nel modo del readUnsignedShort
metodo . Questo valore intero viene chiamato lunghezza UTF e specifica il numero di byte aggiuntivi da leggere. Questi byte vengono quindi convertiti in caratteri considerandoli in gruppi. La lunghezza di ogni gruppo viene calcolata dal valore del primo byte del gruppo. Il byte che segue un gruppo, se presente, è il primo byte del gruppo successivo.
Se il primo byte di un gruppo corrisponde al modello 0xxxxxxx
di bit (dove x
significa "può essere 0
o 1
"), il gruppo è costituito solo da quel byte. Il byte è esteso zero per formare un carattere.
Se il primo byte di un gruppo corrisponde al modello 110xxxxx
di bit , il gruppo è costituito da tale byte a
e da un secondo byte b
. Se non è presente alcun byte b
(perché byte è l'ultimo dei byte a
da leggere) o se byte b
non corrisponde al criterio 10xxxxxx
di bit , viene generata un'eccezione UTFDataFormatException
. In caso contrario, il gruppo viene convertito nel carattere :
{@code (char)(((a & 0x1F) << 6) | (b & 0x3F))
}
Se il primo byte di un gruppo corrisponde al modello 1110xxxx
di bit , il gruppo è costituito da tale byte a
e da altri due byte b
e c
. Se non è presente alcun byte c
(perché byte a
è stato uno degli ultimi due byte da leggere) oppure byte b
o byte c
non corrisponde al modello 10xxxxxx
di bit , viene generata un'eccezione UTFDataFormatException
. In caso contrario, il gruppo viene convertito nel carattere :
{@code
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
}
Se il primo byte di un gruppo corrisponde al modello o al modello 1111xxxx
10xxxxxx
, viene generata un'eccezione UTFDataFormatException
.
Se viene rilevata la fine del file in qualsiasi momento durante l'intero processo, viene generata un'eccezione EOFException
.
Dopo che ogni gruppo è stato convertito in un carattere da questo processo, i caratteri vengono raccolti, nello stesso ordine in cui i gruppi corrispondenti sono stati letti dal flusso di input, per formare un String
oggetto , che viene restituito.
Il writeUTF
metodo di interfaccia DataOutput
può essere utilizzato per scrivere dati adatti per la lettura da parte di questo metodo.
Documentazione java per java.io.DataInput.readUTF()
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.