gpt4 book ai didi

java - DataOutputStream 中的 writeBytes(str) 与 write(str)

转载 作者:行者123 更新时间:2023-11-29 03:13:38 34 4
gpt4 key购买 nike

DataOutputStream 中,writeBytes(str)write(str) 有什么区别?是否有任何使用它们的提示/技巧?提前致谢。

最佳答案

DataOutputStream 属于用于写入二进制数据的 OutputStream 类 - 不是用于文本的 Writer,它是一个旧类并且 writeBytes(String) 是一个奇怪的 twitter 方法,因为它:

Each character in the string is written out, in sequence, by discarding its high eight bits. If no exception is thrown, the counter written is incremented by the length of s.

因此从每个 Unicode UTF-16 字符(16 位)中获取低字节。如果字符串限制为 7 位 ASCII,可能有点 ISO-8859-1,则字符串不会被损坏。但一般来说,信息会丢失。

DataInputStream 中没有对应物,没有String readBytes()

我会称之为设计失误,因为 java 引入了文本和二进制数据的分离 (byte[]),引入了 byte 并保留了 String 和 16 位 char 用于 Unicode 文本。作者可能觉得需要 C 风格的 write(char*)

无需提及 writeUTF 和 DataInputStream.readUTF。

关于java - DataOutputStream 中的 writeBytes(str) 与 write(str),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27879805/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com