java 字符流

1、字符流:读也是二进制文件,他会帮我们解码成我们看的懂的字符

2、字符流 = 字节流 + 解码

3、 输入流   InputStram或者Reader结尾的流

4、Reader:它是字符输入流的根类 ,抽象

5、FileReader  文件字符输入流  读取字符串。

6、FileReader的用法:

        1.找到目标文件

        2.建立数据的通道

        3.建立一个缓冲区

        4.读取数据

        5.关闭资源

7、字符缓冲流 缓冲流不具备读写数据的能力 ,可以提高读取数据的效率 ,可以扩展功能。内部维护了以字符数组

8、BuffredRead 缓冲输入字符流

9、有一个扩展的功能:可以一次读一行文字。

10、字符流输出流:

     Writer : 字符输出流的根类 ,抽象的类

     FileWiter 文件数据的输出字符流

11、字符输出流的使用注意点:

     1.FileReader内部维护了一个1024个字符的数组,所以在写入数据的时候,它是现将数据写入到内部的字符数组中,如果需要将数据写入到硬盘中,需要用到flush()或者关闭或者字符数组数据存满了。

     2.如果我需要向文件中追加数据,需要使用new FileWriter(File , boolean)构造方法 ,第二参数true

     3.如果指定的文件不存在,也会自己创建一个。

12、用字符流来拷贝图片

     字符流  =  字节流 + 解码 --->找对应的码表  GBK

     字符流解码 拿到系统默认的编码方式来解码

13、将图片中的二进制数据和GBK码表中的值进行对比, 对比的时候会出现二进制文件在码表中找不对应的值,他会将二进制数据标记为未知字符,当我在写入数据的是后会将未知的字符丢掉。

14、 图片数据不需要将数据解析为我们看的懂的字符。

15、 何时使用字节流?何时使用字符流?

     1. 使用字节流的场景:读写的数据不需要转为我能够看得懂的字符。比如:图片,视频,音频...

     2.使用字符流的场景 :如果读写的是字符数据。

16、内部提供一个8192长度的字符数组作为

 

posted on 2016-12-06 20:03  辛仔  阅读(106)  评论(0)    收藏  举报

导航