java 中 IO 流分为几种?它们的区别是什么?

  • Post author:
  • Post category:java


一、Java 中 IO 流分为几种

Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个),Java中其他多种多样变化的流均是由它们派生出来的.

字节流:InputStream,OutputStream。

字符流: Reader,Writer。

二、字符流和字节流的区别

1、字符流和字节流是根据处理数据的类型的不同来区分的。

2、字节流按照8位传输,字节流是最基本的,所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。

3、字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;

4、字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

5、理论上任何文件都能够用字节流读取,但当读取的是文本数据时,为了能还原成文本你必须再经过一个转换的工序,相对来说字符流就省了这个麻烦,可以有方法直接读取。所以,如果是处理纯文本数据,就要优先考虑字符流,除此之外都是用字节流。

了解更多java相关面试问题欢迎关注小编java专栏!



版权声明:本文为longzorg_cn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。