文件IO

文件IO

1.1 IO流介绍

I(输入) O(输出), IO流就是输入输出流,这个叫法是根据参照物不同,称呼也不同,比如我们以程序为坐标.我们开发项目的时候可能会依赖于其他文件, 或者需要将程序的数据写到磁盘上,这个时候我们就需要使用到IO流

1.2 Java中IO流体系
在这里插入图片描述
1.3 字节流和字符流的区别

字节流 : 可以处理任意类型的数据,比如文本,图片,视频等类型的数据
字符流 : 只能处理纯文本数据
总结 : 如果你要处理的数据是纯文本优先考虑字符流,其他情况一概字节流

1.4 为什么有字符流

防止文字乱码
在这里插入图片描述

二. 字节流

2.1 字节输入流

使用字节流读取文件,使用FileInputStream对象中的read方法,返回值是int类型,封装的就是读取的字节数,如果返回-1说明该文件读取完毕。使用的时候一般使用第二个方法,一次可以读取多个字节,速度要快点。
注意

2.2 字节输出流

使用字节流向文件中写入数据,使用 FileOutStream 对象中的write方法
在这里插入图片描述
注意:
1)中文乱码:这里需要设置编码表
原因:将文字转换成字节,需要根据码表转换,这个过程是编码,使用的时候需要将字节转换成文字,这个叫解码,如果两个过程使用的码表不一样就会乱码。
String str = new String(b,“GBK”);
2)写数据多字节:我们在写的时候规定读多少字节写多少即可
在这里插入图片描述

2.3 缓冲流

为了提高对数据的读写效率我们可以使用缓冲技术,Java给我们提供了两个类BufferedInputStream和BufferedOutputStream,这两个类是基于装饰模式实现,我们在使用的时候传入普通的字节流即可。
在这里插入图片描述

三 . 字符流

3.1 简介:

我们使用字节流操作文本的时候可能出现乱码,推出了字符流,专门用来处理纯文本数据

3.2 总结

我们在使用字符流操作文本数据时可以直接使用BufferedReader和BufferedWriter,前者可以一次读一行,返回String类型数据,后者可以直接写一个String’类型的字符串并且可以通过newLine方法进行换行,注意flush方法刷新流中的数据。
在这里插入图片描述

四. 打印流

PrintWriter:打印流,只能向外输出数据,就是一个输出流,可以将文本原封不动输出,我们在JavaWeb程序中使用的response.getWiter(),返回的对象其实就是PrintWriter。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值