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长度的字符数组作为
浙公网安备 33010602011771号