关于java的双字节流_关于java:字节流和字符流

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

谢谢

亲爱的唐纳德-请鼓励作者提供一个更好的问题,不要留下您为什么决定唐纳德的投票(我个人没有强烈的理由)

在记事本中打开MS Word文档。 你看到了什么? 就像在记事本中打开exe一样的垃圾? 然后它是二进制数据:)

我对这篇文章投了赞成票,因为我从这篇文章中看到的是字节流和字符流之间的混淆。 使用记事本来解释问题是没有意义的。 在我看来,下选民似乎很自大。

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

字符流将逐字符读取文件。字符流需要使用文件的编码才能正常工作。

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

感谢kgiannakakis,.txt文件呢?

字符流适合读取.txt文件。 正如我所说,您需要了解文本文件的编码。

我问的是Windows OS中存在的.txt文件

@JavaUser不管您在哪个操作系统上都拥有.txt文件,它都可以采用任何字符编码,并且通常无法明确检测.txt文件中使用的字符编码。 最常见的编码是ISO-8859-1和UTF-8。

如果您使用一种新的XML格式,则您的Word文档可能是文本格式:-)

字节流:

从oracle文档页面中有关字节流的信息:

Programs use byte streams to perform input and output of 8-bit bytes. All byte stream classes are descended from InputStream and OutputStream.

c4b7cdb76cd0e3e06ea013c9769b3321.gif

何时使用:

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

何时不使用:

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

例如读取文本文件

字符流:

从oracle文档页面中有关字符流的信息:

The Java platform stores character values using Unicode conventions. Character stream I/O automatically translates this internal format to and from the local character set.

所有字符流类均来自Reader和Writer。

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

有两个通用的字节到字符"桥"流:InputStreamReader和OutputStreamWriter。

何时使用:

从字符Socket或File读取字符流

综上所述:

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

字符流和其他可用流应用于处理复杂的数据。

这些概念始终是个谜。 题

1.面向字符与数据类型相关。只能读取字符串类型或字符类型,而面向字节的数据不与任何数据类型绑定,可以读取任何数据类型的数据(字符串除外),只需指定即可。

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

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

4,面向字符的流也称为读写流

面向字节的流称为数据流-数据输入流和数据输出流

读这个。它告诉您字节和字符之间的区别(以及其他有用内容的负载)

字符流将逐字符读取文件。字符流可以读取16位字符(字节流可以读取8位字符)。字符流能够将8位数据隐式转换为16位数据,反之亦然。字符流可以支持所有类型的字符集ASCII,Unicode,UTF-8,UTF-16等,但是字节流仅适用于ASCII字符集.Java平台使用Unicode约定存储字符值。字符流I / O自动将此内部格式与本地字符集转换。

除非使用图像和声音文件等二进制数据,否则应使用读取器和写入器通过字符流读取和写入信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值