首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字节流和字符流

字节流和字符流
EN

Stack Overflow用户
提问于 2010-06-10 19:40:19
回答 5查看 34.8K关注 0票数 47

请解释一下字节流和字符流是什么。这些到底是什么意思?Microsoft Word文档是面向字节的还是面向字符的?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-10 19:53:51

流是一种顺序访问文件的方式。字节流逐字节访问文件。字节流适用于任何类型的文件,但不太适合文本文件。例如,如果文件使用unicode编码,并且字符用两个字节表示,则字节流将分别处理这两个字符,您需要自己进行转换。

字符流将逐个字符地读取文件。字符流需要指定文件的编码才能正常工作。

尽管Microsoft Word文档包含文本,但不能使用字符流访问它(它不是文本文件)。您需要使用字节流来访问它。

票数 57
EN

Stack Overflow用户

发布于 2016-03-28 19:07:24

ByteStreams

来自oracle文档中关于byte streams的页面

程序使用字节流执行8位字节的输入和输出。所有字节流类都是从InputStreamOutputStream派生出来的。

何时使用:

字节流应该仅用于最原始的I/O

不使用时使用

不应使用字节流读取字符流

例如,读取文本文件

字符流:

来自oracle文档中关于character streams的页面

平台使用Unicode约定存储字符值。字符流I/O自动将此内部格式转换为本地字符集,并将其转换为本地字符集。

所有字符流类都是从ReaderWriter派生出来的。

字符流通常是字节流的“包装器”。字符流使用字节流执行物理I/O,而字符流处理字符和字节之间的转换。

有两个通用的字节到字符的“桥”流:InputStreamReaderOutputStreamWriter

何时使用:

从字符的SocketFile读取字符流

摘要中的

字节流一次读写一个字节。在处理更复杂的数据时,我们必须避免使用字节流。

应该使用字符流、和其他可用的流来处理复杂的数据。

票数 14
EN

Stack Overflow用户

发布于 2013-03-10 15:12:19

1.面向字符绑定到数据类型。只有字符串类型或字符类型可以通过它读取,而面向字节的数据类型不绑定到任何数据类型,任何数据类型的数据都可以读取(除了字符串),只需指定它。

2.面向字符的读取逐个字符,而面向字节的读取逐字节读取

3.面向字符的流使用字符编码方案(UNICODE),而面向字节的流不使用任何编码方案

4.面向字符的流也称为读取流和写入流。面向字节的流称为数据流--数据输入流和数据输出流

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3013996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档