Java IO概念理解

字符流、字节流

字节与字符

Bit最小的二进制单位 ,是计算机的操作部分。取值0或者1

Byte(字节)是计算机操作数据的最小单位由8位bit组成 取值(-128-127)

Char(字符)是用户的可读写的最小单位,在Java里面由16位bit组成 取值(0-65535)

字节流

操作byte类型数据,主要操作类是OutputStream、InputStream的子类;不用缓冲区,直接对文件本身操作。

字符流

操作字符类型数据,主要操作类是Reader、Writer的子类;使用缓冲区缓冲字符,不关闭流就不会输出任何内容。

互相转换

整个IO包实际上分为字节流和字符流,但是除了这两个流之外,还存在一组字节流-字符流的转换类。

OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象。

InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。

输入流、输出流

输入、输出,有一个参照物,参照物就是存储数据的介质。如果是把对象读入到介质中,这就是输入。从介质中向外读数据,这就是输出。

所以,输入流是把数据写入存储介质的。输出流是从存储介质中把数据读取出来。

原文地址:https://www.cnblogs.com/ooo0/p/12794611.html