IO流相关知识点(2)

字符流

为什么出现字符流

在这里插入图片描述

编码表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符串中的编码解码问题

在这里插入图片描述
以上是关于编码解码的方法
编码采用的是字符串对象系统自带的方法
解码采用的是创建新字符串对象时的构造方法
在这里插入图片描述
注意,编码和解码要采用同一种规定的字符集
否则会出现乱码

字符流中的编码解码问题

在这里插入图片描述

编码

两个类具体的使用方法
其中 每个图的前两个注释行 都是关于两个对象各自的构造方法的说明

在这里插入图片描述

解码

在这里插入图片描述
这个采用的是一次读取一个字符数据的方式

字符流写数据的5种方式

在这里插入图片描述

flush和close的使用

在这里插入图片描述
在这里插入图片描述
close会自动刷新 但是使用之后 会结束 不利用再次写入代码
所以flush还是很必要的

其他方法的具体代码演示

在这里插入图片描述

字符流读数据的2种方法

在这里插入图片描述

一次一个字符数据

在这里插入图片描述

一次一个字符数组数据

在这里插入图片描述
(这里如果所读取的文本超过1024字节,同样会自动正常读取整个文本,每次读取后的结果会自动拼接)

复制文件

一次读一个字符数据

在这里插入图片描述

一次读一个字符数组

在这里插入图片描述

字符缓冲流

在这里插入图片描述

字符缓冲输出流写入数据

在这里插入图片描述
(注意这里参数传入的是FileWriter对象 也可以传入output streamwriter,FileWriter是output streamwriter子类)

字符缓存输入流读数据

一次读入一个字符

在这里插入图片描述

一次读入一个字符数组

在这里插入图片描述
(这里参数可以传入FileReader对象,也可以传入outputstreamreader,FileReader是outputstreamreader的子类)

字符缓冲流特有方法

在这里插入图片描述
具体代码演示

写数据时换行

在这里插入图片描述
bw.newline() 相当于上面的注释行的内容

读数据时只读一行

在这里插入图片描述
当读到空数据时,会返回null,所以可以作为终止条件,用循环改进
注意 这里不会读取终止字符 所以 如果输出时不用sout ln 那么 就不会像源文件那样换行

IO流小结

在这里插入图片描述
在这里插入图片描述

增强for循环的理解

在这里插入图片描述
上面创建了一个字节缓冲输出流对象

想要写入一个arraylist集合里面的内容

采用增强for循环来获取集合里的内容 那么这里for(String s :array)这步已经完成了增强for循环的设置

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值