现在,我似乎并没有得到那些流(输入/输出)和普通writer
和reader
甚至scanner
和formatter
之间的区别...输入/输出流与普通读写器有什么区别,它们的类型有什么区别?
及为何InputStream
有很多子类像DataInputStream
和BufferedInputStream
和所有那些乱七八糟(与同为当然OutputStream
)...
最后一两件事,如果缓冲区是很好的(所以我读)和高效为什么会任何一个使用任何其他输入/输出方式(为什么他们甚至制造?)
你能举一个例子吗?将**字节**转换为**字符**,反之亦然? – Argento
查看InputStreamReader和OutputStreamWriter - 它们的构造函数接受一个流对象(source/sink作为字节)和一个Charset,它具有如何在字节和字符之间映射的信息。您可以像使用任何其他读写器一样使用它们,即通过普通的'read'和'write'方法。但是,如果您只想读取/写入现有的字符数据(比如说,从磁盘读取文本文件),则不必手动执行此转换:各种Reader/Writer类在内部为您执行此操作。 – Thomas
和哪个'Charset'应该使用并取决于什么? – Argento