第三章 输入输出流

一.File 类的作用?(最大作用:上传下载文件)

将文件或者文件夹信息加载到内存中(读取文件内容,覆盖写入,追加写入)

使用场景:可以在学习框架的时候用来配置读取文件配置

二.11个方法?

exist()                            //判断文件或文件夹是否存在
isDirectory()                  //判断是否是文件夹
getPath()                        //获取相对路径
getAbsoulatePath()       //获取绝对路径
isFile()                            //判断是否是文件
getName()                      //获取文件名称
delete()                         //删除文件或者文件夹
createNewFile()          //创建新文件(文件所在的文件夹一定要存在)
length()                        //返回文件内容字节长度
mkdir()                        //创建文件夹(只能创建一层)
mkdirs()                        //创建多层文件夹(多重文件夹)(常用)

三.输入输出流

是以程序为参照物体

读取文件内容到程序                输入流

将文件内容写到文件中             输出流

四.处理单元

字节流:字节为单位

字符流:字符为单位(缓存流、对象流、二进制流)一个字符=三个字节

五.什么是流

流是一组有序的数据序列,以先进先出的方式发送信息通道。

六.流的分类

按照流向区分:输入流 OutputStream和Writer作为基类

                         输出流InputStream和Reader作为基类

按照处理数据单元划分:字节流InputStream和OutputStream

                                        字符流Reader和Writer

字节流是8位通用字节流,字符流是16位Unicode字符流

七.常用方法

FileInputStream和FileOutputStream

八.使用步骤

1.导入相关类
2.创建输入输出流对象
3.读写文本数据
4.关闭流

九.字符流

字符输入流:Reader方法:read()

                                           read(char[ ]  c)

                                           read(char[ ] c,int off,int  len)

                                           close( )

InputStreamReader 构造方法 :以字节输入流入参

                                                    以字节输入流和编码格式作为入参

FileReader  构造方法: 以File文件类入参

                                      以文件路径入参          

Reader的子类是InputStreamReader,而InputStreamReader 的子类是FileReader

****字符流除了使用FileReader之外,其他的字符流都需要以字节流对象作为入参。

字节流和字符流

read()方法返回值不一样

字节流返回的是读取到的字节

字符流返回的是读取的字符长度

十.缓存字符流

使用缓存字符流复制文件

需要存在几个流

        字节输入流

        缓存输入流

        字节输出流

        缓存输出流

作用:可以提高字符流读取文件的效率

BufferReader是Reader的子类,他带有缓冲区,按行执行readLine()方法

十一.在使用缓存字符流的同时解决字符乱码问题

缓存字符流必须以一个字符流对象作为入参

可以以FileReader 作为入参,他不能解决乱码问题

可以InputStreamReader作为入参,这样就必须还要存在一个字节流对象

InputStream is =null;

InputStreamReader isr=null;

BufferedReader br=null;

is=new FileInputStream("文件名");

isr=new InputStreamReader(is,"GBK(编码名)");

br= new BufferedReader(isr);

十二.字符输出流

Writer常用方法:write(String[ ] strs)

                            write(String [ ] strs ,int off, int len)

                            close()

                             flush()

子类:OutputStreamWriter

                构造方法:

                                以字节输出流作为入参

                                以字节输出流和字符编码格式作为入参

           FileWriter

                构造方法

                                以文件路径作为入参

                                以文件对象作为入参

             BufferedWriter

               构造方法:

                                以FileWriter字符流对象作为入参

                                以OutputStreamWriter对象作为入参  可以解决中文乱码问题

十三.close()方法

先开的后关,后开的先关

十四.序列化与反序列化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值