java io

 为什么一个中文汉字可以保存在一个char变量里呢?因为在JAVA中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节的,因此它也能保存到一个byte里,一个中文汉字却不能。

    下面重点说一下字节流和字符流:

字节流                          字符流

InputStream                 Reader

OutputStream               Writer

FileInputStream             FileReader

FileOutputStream           FileWriter

BufferedInputStream      BufferedReader

BufferedOutputStream   BufferedWriter

PrintStream                   PrintWriter

 

InputStreamReader类,该类是字节流和字符流之间的桥梁。

BufferedReader和BufferedWriter这两个处理流不但能够提高输入输出的速度,而且还提供了新的方法,如BufferedReader的readLine()方法,可一个非常方便的读取一行信息,而BufferedWriter的newLine()方法又能够提供标示一行输出的结束,极大的方便了程序员编写程序。

 

字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的.但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的enicode来处理,也就是要进行字符集的转化这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联,在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值