字节流和字符流

字节流与字符流详解

开发工具与关键技术:MyEclipse 10,MySQL;Java

撰写时间:2019-08-16

字节流:所谓的字节流就是处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据。

    字节流和字符流的操作方式几乎完全一样,区别只是操作的数据单元不同而已。也就是说字节流和字符流仅仅是操作单位不一样。字节流操作的数据单元是字节,而字符流操作的数据单元是字符。

字节流 :

  1. 字节流主要是操作 byte(字节)的类型数据。
  2. 字节输出流:OutputStream
  3. 字节输入流:InputStream

字符流 :

  1. Java中的字符是 Unicode 编码,是双字节的,1个字符 等于2个字节;使用字节来处理字符文本就不太方便了,此时可以考虑使用字符流;
  2. 字符流主要是操作 char 的类型数据;
  3. 字符输出流:Writer
  4. 字符输入流:Reader

public class FunctionDemo {

 

   public static void main(String[] args) {

      File src = new File("6.4");

      read(src);

   }

   public static void read(File src) {

      Reader r = null;

      try {

          r = new FileReader(src);

      } catch (FileNotFoundException e) {

          e.printStackTrace();

      }

      char[] c = new char[1024];

      int len;

      try {

          while ((len = r.read(c)) != -1) {

             System.out.println(new String(c, 0, c.length));// 打印到

             // 控制台

          }

      } catch (IOException e) {

          e.printStackTrace();

      }

      try {

          r.close();

      } catch (IOException e) {

          e.printStackTrace();

      }

   }

}

两者相比,肯定使用字节流更加的方便,而且在程序中像图片、MP3 等都是采用字节的方式的保存,那么肯定字节流会比字符流使用的更广泛。但是需要说明的是,但是如果要是想操作中文的话,字符流肯定是最好使的。(字节流的话可能会出现乱码,将一个汉字分成了两份!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值