writeUTF和writeChars有什么区别?

时间:2013-09-22 15:01:37

标签: java io objectoutputstream

writeUTF和writeChars有什么区别? (ObjectOutputStream的方法) 此外,我还没有在ObjectInputStream中找到相应的readChars。

2 个答案:

答案 0 :(得分:11)

writeUTF以UTF-8格式编码以文本长度写入文本,因此readUTF知道从流中读取的字符数。

writeChars将文本写为一个2字节字符序列,没有长度。要阅读它,我们应该使用readChar方法,我们需要知道写了多少个字符。

答案 1 :(得分:1)

writeChars() 使用Unicode值

  

将字符串s中的每个字符写入输出流中   顺序,每个字符两个字节。如果s为null,则为NullPointerException   被扔了。如果s.length为零,则不写入任何字符。   否则,首先写入字符s [0],然后写入s 1,依此类推;   写的最后一个字符是s [s.length-1]。对于每个角色,两个   字节实际写入,高位字节首先写入   writeChar方法的方式。

writeUTF() 使用稍微修改过的UTF-8版本

  

将两个字节的长度信息写入输出流,然后   通过修改的字符串中每个字符的UTF-8表示   秒。如果s为null,则抛出NullPointerException。中的每个角色   字符串s转换为一个,两个或三个字节的组,   取决于角色的价值。

相关问题