2013-09-22 4 views

Antwort

10

writeUTF schreibt Text in UTF-8-Format-Codierung mit Textlänge vorangestellt, so readUTF weiß, wie viele Zeichen aus dem Stream zu lesen.

writeChars schreibt Text als eine Folge von 2-Byte-Zeichen ohne Länge. Um es zu lesen, sollten wir readChar Methode verwenden und wir müssen wissen, wie viele Zeichen geschrieben wurden.

+1

Obwohl es in DataOutputStream eine Methode writeChar gibt, gibt es in DataInputStream keine Methode readChars – maamaa

+0

ref: https://docs.oracle.com/javase/7/docs/api/java/io/DataOutputStream.html#writeChars% 28java.lang.String% 29 – kebs

1

writeChars() verwendet Unicode-Werte

jedes Zeichen in der Zeichenfolge s Schreibt, in den Ausgabestrom, in Ordnung, zwei Bytes pro Zeichen. Wenn s null ist, wird eine NullPointerException ausgelöst. Wenn s.length null ist, werden keine Zeichen geschrieben. Andernfalls wird das Zeichen s [0] zuerst geschrieben, dann s 1 und so weiter; Das letzte geschriebene Zeichen ist s [s.length-1]. Für jedes Zeichen werden zwei Bytes geschrieben, höherwertige Byte zuerst, genau in der Weise der writeChar-Methode.

writeUTF() verwendet ein leicht-modifizierte Version von UTF-8

Schreibt zwei Bytes von Längeninformationen in den Ausgabestrom, gefolgt durch die modifizierte UTF-8-Darstellung jedes Zeichens in der Zeichenfolge s. Wenn s null ist, wird eine NullPointerException ausgelöst. Jedes Zeichen in die Zeichenfolge s wird in eine Gruppe von einem, zwei oder drei Bytes, je nach dem Wert des Zeichens konvertiert.

Verwandte Themen