输入输出--Java IO流

1. IO流分类


        节点流:又叫低级流

        处理流:高级流

        字节流和字符流的区别在于数据处理单位的不同。

        字节流:一次读或写8位二进制。字节流关于输入和输出的基类有两个。

2.整体API分类:


3.按照功能进行API分类:


4. 访问文件

字节流:不适合操作中文

(1) 字节输入流【FileInputStream】

    字节输入流读取文件的实现步骤:

        1. 关联实体文件,创建FileInputStream对象

        2. 调用read方法:返回值:文件末尾 -1

        3. 关闭输入流【close】:流资源都是需要关闭:先开的后关,后开的先关

(2) 字节输出流【FileOutputStream】

.        1.关联实体文件,创建输出流对象

            1) 文件不存在:自动创建2.

            2) 路径不存在:报错

            3) true:追加

            4) false:覆盖

        2. [调用write方法

        3. 关闭输出流

5.字符编码【概述】

    电脑上数据最终都是显示为二进制,但在实际生活中我们有很多种语言,比如:中文、英文、日文、韩文等。要将这些不同的文字形式显示在电脑上就出现了不同的编码,简单的讲字符编码就是指此类情况

    1.常见的字符编码:

        ASCII编码:

        用来表示英文,它使用1个字节表示,其中第一位规定为0,其他7位存储数据,一共可以表示128个字符。

   2.拓展ASCII编码:

        用于表示更多的欧洲文字,用8个位存储数据,一共可以表示256个字符

        GBK/GB2312/GB18030:

        简称国标,表示汉字。GB2312表示简体中文,GBK/GB18030表示繁体中文,其实就是几个不同的版本而已。

        3.Unicode编码:

        包含世界上所有的字符,是一个字符集。

        UTF-8:

        是Unicode字符的实现方式之一,它使用1-4个字符表示一个符号,根据不同的符号而变化字节长度

ISO8859-1:

        是单字节编码,向下兼容ASCII,不支持中文!

6.字符输入流【FileReader】

        字符输入流读取文件的实现步骤:

            ①. 关联实体文件,创建FileReader对象

            ②. 调用read方法

            ③. 关闭输入流【close】

    1. 字符输出流【FileWriter】

        字符流输出数据的代码实现步骤:

           ①.关联实体文件,创建输出流对象

           ②.调用write方法

           ③.关闭输出流

    2. 转换流

        (1) 字节流转字符流【InputStreamReader】

        字节流转成字符流的步骤:

        ①. 准备一个字节流

        ②. 将字节流转成字符流输出

        ③. 关闭流

        2) 字符流转字节流【OutputStreamWriter】

        字符流转字节流步骤:

        ①. 准备一个字符流

        ②. 将字符流转换为字节流

        ③. 关闭流

你可能感兴趣的:(输入输出--Java IO流)