Java-java 字节过滤流。dataOut.writeChars(s1);写入txt文件为什么有空格?

发布于 2016-12-01 16:18:06 字数 276 浏览 1235 评论 2

DataOutputStream dataOut=new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("src\ex1\data.txt")));
String s1="summer";
dataOut.writeChars(s1);
在data.txt 打开后是 s u m m e r (字母之间有空格)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生未歇 2017-03-02 12:24:41

你的程序输出后, data.txt里的内容是 unicode16 big-endian。

如果你是用 windows notepad 打开的话,看到的就是你说的字母里有空格的格式。 这个是 notepad 的问题, 它不能识别 unicode16. 如果你换 notepad++,就没有这个问题。我们项目里的C#打印出来的log文件都是unicode16,notepad显示都是你说的那样。

另外你可以使用 dataOut.writeUTF(s1); 文件里存 utf8,这个所有的编辑器都是支持的。

清晨说ぺ晚安 2017-02-15 03:14:44

writeChars是写一个序列的UCS2编码字符串,要用readChar逐个读取
习惯上,大家都是用 fileWriter.write() 方法来写入文本

祝好,
斑驳敬上

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文