Jav*_*ser 41 java iostream filestream
请解释Byte流和字符流是什么.这究竟是什么意思?Microsoft Word文档是面向字节还是面向字符?
谢谢
kgi*_*kis 52
流是一种顺序访问文件的方式.字节流逐字节地访问文件.字节流适用于任何类型的文件,但不太适合文本文件.例如,如果文件使用的是unicode编码,并且字符用两个字节表示,则字节流将单独处理这些字节,您需要自己进行转换.
字符流将逐个字符地读取文件.需要为字符流提供文件的编码才能正常工作.
虽然Microsoft Word文档包含文本,但无法使用字符流(它不是文本文件)访问它.您需要使用字节流来访问它.
Rav*_*abu 10
ByteStreams:
从oracle关于字节流的文档页面:
程序使用字节流来执行8位字节的输入和输出.所有字节流类都来自
InputStream和OutputStream.
何时使用:
字节流应仅用于最原始的I/O.
何时不使用:
您不应使用字节流来读取字符流
例如,阅读文本文件
角色流:
从oracle关于字符流的文档页面:
Java平台使用Unicode约定存储字符值.字符流I/O自动将此内部格式转换为本地字符集.
所有字符流类都来自Reader和Writer.
字符流通常是字节流的"包装器".字符流使用字节流来执行物理I/O,而字符流处理字符和字节之间的转换.
有两个通用的字节到字符"桥"流:InputStreamReader和OutputStreamWriter.
何时使用:
从字符Socket或File字符中读取字符流
总结:
字节流一次读取和写入一个字节.在处理更复杂的数据时,我们必须避免使用字节流.
应使用字符流和其他可用流来处理复杂数据.
小智 5
1.面向字符与数据类型相关。只能读取字符串类型或字符类型,而面向字节的数据不与任何数据类型绑定,可以读取任何数据类型的数据(字符串除外),只需指定即可。
2.面向字符的读取字符,而面向字节的读取字节
3,面向字符的流使用字符编码方案(UNICODE),而面向字节的流不使用任何编码方案
4.面向字符的流也称为读取器和写入器流面向字节的流被称为数据流-数据输入流和数据输出流