java中字符流有什么用?为什么我们需要有字节流?我已经浏览了很多网站,但我没有清楚地了解它...请让我清楚...请不要粘贴谷歌结果
最佳答案
我假设你的意思是 Reader
界面?如果您正在处理文本,则不必担心每一层的二进制/文本转换。事实上,从概念上讲,您甚至可能没有要转换的二进制数据 - 看看 StringReader
例如。
拥有 Reader
界面可以清楚地表明您确实需要文本,并且该文本背后的二进制数据与您无关,只要它可以以某种方式作为 Unicode 字符序列提供即可.
值得非常清楚地认识到二进制和文本是不同的。如果您尝试将任意二进制数据视为文本(例如尝试将图像文件读入字符串),您将丢失信息。为什么您不希望不同的类型来处理不同形式的数据?
这有点像说,“我们可以将每个对象的数据存储在字节数组中,并在需要时转换其中的各个部分。”是的,我们可以(如果您可以将不透明的二进制数据转换为引用或从引用转换),但就封装而言,这将是可怕的。 Reader 接口(interface)是一层封装,允许各种数据源公开字符数据(无论是否需要解码二进制数据),并允许其他代码消费该字符数据,而无需意识到确切地说它来自哪里。
关于java - java中字符流有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1997806/