【问题标题】:What's the difference between writeUTF and writeChars?writeUTF 和 writeChars 有什么区别?
【发布时间】:2013-09-27 12:28:58
【问题描述】:

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

【问题讨论】:

    标签: java io objectoutputstream


    【解决方案1】:

    writeUTF 以 UTF-8 格式编码写入文本,并以文本长度开头,因此 readUTF 知道要从流中读取多少字符。

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

    【讨论】:

    【解决方案2】:

    writeChars() 使用 Unicode 值

    将字符串 s 中的每个字符写入输出流,在 顺序,每个字符两个字节。如果 s 为 null,则 NullPointerException 被抛出。如果 s.length 为零,则不写入任何字符。 否则先写字符s[0],再写s1,以此类推; 最后写入的字符是 s[s.length-1]。对于每个字符,两个 字节实际上是写入的,高位字节在前,恰好在 writeChar 方法的方式。

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      • 2015-03-26
      • 2013-08-19
      相关资源
      最近更新 更多