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