java字符流

字符流:字节流+编码表
编码表(字符集):
字符与数字间对应关系形成的一张表
ASCII: 一个字节数据8个bit
ISO8859-1:不能操作中文
GBK:存储汉字,一个汉字占两个字节
Unicode:java内置的码表,空间浪费,每个字符都占用两个字节,‘\u十六进制数据’
utf-8:国际化的编码,1-3个字节存储数据,汉字占3个字节
解码:将字节到字符的过程
编码:将字符到字节的过程
乱码:使用一个字符集进行编码,使用另外一个字符集进行解码。看到的数据看不懂就是乱码了

在这里插入图片描述

字符输出流:
根类:
Writer 抽象类
方法:write(int ch):写一个字符
write(char[]):写一个字符数组
write(String):写一个字符串数据
flush():刷新
close():关闭流,关闭前会刷新
子类对象:FileWriter

在这里插入图片描述

字符输入流:
根类:Reader 抽象类
方法:
int read():读取一个字节数据,读取到末尾返回-1
int read(char[] ch) :读取内存存储到ch中,返回读取的字符个数,读取到末尾返回-1
close():关闭流
子类:FileReader

在这里插入图片描述
增加小练习:复制文件

在这里插入图片描述
字符缓冲流
原理和特点与字节缓冲流基本相同。
目的都是为了提高读写效率。
输入流:
String readLine():读取一行文本,末尾返回null
输出流:
newLine():写一个换行符,是跨平台的

在这里插入图片描述
在这里插入图片描述
练习:复制文件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值