小弟用DataOutputStream 写平台无关的UTF时,发现有时写出的会有些乱七八糟的乱码,
比如:
读取一个文件,文件里的文本是:
1 四级核心词汇
2 大学四级
3 大学六级
4 GRE
5 新概念英语词汇
6 研究生入学词汇
7 研究生入学短语
写出去之后就成了:
1 四级核心词汇 2 大学四级 3 大学六级 4 GRE 5 新概念英语词汇 6 研究生入学词汇 7 研究生入学短语
而另外有些写出去之后却全是乱码,但是使用DataInputStream
读取进来以后却不会有乱码,这是何解啊?
比如:
读取一个文件,文件里的文本是:
1 四级核心词汇
2 大学四级
3 大学六级
4 GRE
5 新概念英语词汇
6 研究生入学词汇
7 研究生入学短语
写出去之后就成了:
1 四级核心词汇 2 大学四级 3 大学六级 4 GRE 5 新概念英语词汇 6 研究生入学词汇 7 研究生入学短语
而另外有些写出去之后却全是乱码,但是使用DataInputStream
读取进来以后却不会有乱码,这是何解啊?
DataOutputStream 写平台无关的UTF时,先写串长,再写串内容。这样对方:DataInputStream
读取进来时按长度读每一个字符串。没有这样长度信息,DataInputStream 就无法正确读出串了。