OutputStream
有人可以解释一下和之间的区别Writer
吗?我应该使用这些课程中的哪一个?
5 回答
流在字节级别工作,它们可以读取(InputStream)和写入(OutputStream)字节或字节列表到流中。
Reader/Writers 在流的顶部添加了字符的概念。由于字符只能通过使用编码转换为字节,因此读取器和写入器具有编码组件(可以自动设置,因为 Java 具有默认编码属性)。读取(Reader)或写入(Writer)的字符通过编码自动转换为字节并发送到流中。
OutputStream类逐字节写入目标,而Writer类逐字符写入目标
AnOutputStream
是可以写入信息的流。这是相当普遍的,所以有专门OutputStream
用于特殊目的的,比如写入文件。流只能写入字节数组。
Writer
s 提供了更大的灵活性,因为它们可以在考虑特殊编码的同时写入字符甚至字符串。
拿哪一个真的取决于你想写什么。如果你已经有字节,你可以直接使用流。如果您有字符或字符串,如果要将它们写入流,则需要自己将它们转换为字节,或者您需要使用Writer
为您完成这项工作的 a。
OutputStream
使用裸字节,而Writer
使用编码字符。
Reader/Writer 类层次结构是面向字符的,Input Stream/Output Stream 类层次结构是面向字节的。基本上有两种类型的流。用于处理字节流的字节流和用于处理字符流的字符流。在字节流中,输入/输出流是层次结构顶部的抽象类,而写入器/读取器是抽象的字符流层次结构顶部的类。
干杯!!!