2013-09-22 16 views

risposta

10

writeUTF scrive testo in formato UTF-8 codifica preceduto con lunghezza del testo, in modo da readUTF sa quanti caratteri leggere dal flusso.

writeChars scrive il testo come una sequenza di caratteri di 2 byte senza lunghezza. Per leggerlo, dovremmo usare il metodo readChar e abbiamo bisogno di sapere quanti caratteri sono stati scritti.

+1

Anche se esiste un metodo writeChar in DataOutputStream, non esiste alcun metodo readChars in DataInputStream – maamaa

+0

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

1

writeChars() utilizza valori Unicode

Scrive ogni carattere della stringa s, nel flusso di output, in ordine, due byte per carattere. Se s è nullo, viene generata una NullPointerException . Se s.length è zero, non viene scritto alcun carattere. Altrimenti, il carattere s [0] viene scritto per primo, quindi s 1 e così via; l'ultimo carattere scritto è s [s.length-1]. Per ogni carattere, due byte vengono effettivamente scritti, il byte di ordine superiore per primo, esattamente nel modo del metodo writeChar.

writeUTF() utilizza una versione leggermente modificata di UTF-8

Scrive due byte di informazione lunghezza nel flusso di output, seguita dalla rappresentazione modificata UTF-8 di ogni carattere nel stringa s. Se s è nullo, viene generata una NullPointerException. Ogni carattere in la stringa s viene convertito in un gruppo di uno, due o tre byte, a seconda del valore del carattere.