请解释一下字节流和字符流是什么。这些到底是什么意思?Microsoft Word文档是面向字节的还是面向字符的?
谢谢
发布于 2010-06-10 19:53:51
流是一种顺序访问文件的方式。字节流逐字节访问文件。字节流适用于任何类型的文件,但不太适合文本文件。例如,如果文件使用unicode编码,并且字符用两个字节表示,则字节流将分别处理这两个字符,您需要自己进行转换。
字符流将逐个字符地读取文件。字符流需要指定文件的编码才能正常工作。
尽管Microsoft Word文档包含文本,但不能使用字符流访问它(它不是文本文件)。您需要使用字节流来访问它。
发布于 2016-03-28 19:07:24
ByteStreams
来自oracle文档中关于byte streams的页面
程序使用字节流执行8位字节的输入和输出。所有字节流类都是从
InputStream和OutputStream派生出来的。

何时使用:
字节流应该仅用于最原始的I/O
不使用时使用:
不应使用字节流读取字符流
例如,读取文本文件
字符流:
来自oracle文档中关于character streams的页面
平台使用Unicode约定存储字符值。字符流I/O自动将此内部格式转换为本地字符集,并将其转换为本地字符集。
所有字符流类都是从Reader和Writer派生出来的。
字符流通常是字节流的“包装器”。字符流使用字节流执行物理I/O,而字符流处理字符和字节之间的转换。
有两个通用的字节到字符的“桥”流:InputStreamReader和OutputStreamWriter。
何时使用:
从字符的Socket或File读取字符流
摘要中的
字节流一次读写一个字节。在处理更复杂的数据时,我们必须避免使用字节流。
应该使用字符流、和其他可用的流来处理复杂的数据。
发布于 2013-03-10 15:12:19
1.面向字符绑定到数据类型。只有字符串类型或字符类型可以通过它读取,而面向字节的数据类型不绑定到任何数据类型,任何数据类型的数据都可以读取(除了字符串),只需指定它。
2.面向字符的读取逐个字符,而面向字节的读取逐字节读取
3.面向字符的流使用字符编码方案(UNICODE),而面向字节的流不使用任何编码方案
4.面向字符的流也称为读取流和写入流。面向字节的流称为数据流--数据输入流和数据输出流
https://stackoverflow.com/questions/3013996
复制相似问题