writeUTF和writeChars有什么区别? (ObjectOutputStream的方法) 此外,我还没有在ObjectInputStream中找到相应的readChars。
答案 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转换为一个,两个或三个字节的组, 取决于角色的价值。