JAVA初学笔记18

文件流

内存流(了解)

注意:节点流

        ByteArrayInputStream:内存输入流

                作用:将运行内存中的数据读取到程序中

        ByteArrayOutputStream:内存输出流

                作用:将程序中数据储存运行内存中

                注意:

                        内存输入流自带内存默认初始大写为32字节,当不够时会自动扩容

                特有方法:

                        toByteArray():通过内存输出流获取其储存数据的数组

缓冲流(重点)

        作用:提高读写效率

        注意:过滤流(包装流)

        BufferedInputStream

                作用:提高读的效率

        BufferedOutputStream

                作用:提高写的效率

        注意:

                1,包装流在关闭时,会关闭他所包装的节点流

                2,默认缓冲区为8kb

对象流(次重点)

        作用:读写对象

        注意:过滤流(包装流)

        ObjectInputStream

        ObjectOutputStream

                特有方法:

                        writeObject():写出对象

        注意:

                读写的对象所属的类必须实现序列化接口,包括对象的属性的数据类型也需要实现序列化

        序列化:

                让对象所属的类型实现Serializable接口

                注意:

                        1,八个基本数据类型包装类与String都已经实现了Serializable接口

                        2,不能序列化的属性有:

                                1,使用transient修饰的属性为瞬时属性,不参与序列化

                                2,使用static修饰的属性,不参与序列化

字符流

特点

        传递最小单位是char(字符)

        不能传递音频视频图片等内容,只能传递文本

体系结构

        Reader

                提供的方法:

                        int read():一次读取一个字符,返回值就是读取到的字符,返回值-1表示读取结束

                        int read(char cbuf[ ]):一次读取一组字符到数组cbuf中,返回值为读取到的字符长度,-1时表示结束

                        int read(char cbuf[ ] , int off , int len):一次读取一组字符到数组cbuf中,从off位置开始储存,储存len个,返回值为读取到的字符长度,-1表示结束

                        void close():关流

        Writer

                提供的方法:

                        void write(int c):一次写入一个字符

                        void write(char cbuf[ ]):一次写入一组字符

                        void write(char cbuf[ ], int off, int len):将cbuf中off位置开始,len个字符写入

                        void write(String str):将一个字符串写入

                        void write(String str, int off, int len):将一个字符串从off位置开始,len个长度字符写入

                        void flush():冲刷

                        void close():关流

文件流

        FileReader

                作用:将文本文件的内容读取到程序中

        FileWriter

                作用:将程序中的数据写入到文本文件中

        优点:

                相对与字节流读取文本文件,字符流不会出现乱码,因为一次就讲一个字符读取结束了,不会像字节流可能会读取一个字符的一半字节

        缺点:

                相对于字节流而言,字节流只能操作文本文件

缓冲流

        BufferedReader

                作用:提供字符流读取的效率

                默认缓冲区大小:8192节

                特有方法:

                        readLine():一次读一行

        BufferedWriter

                作用:提高字符串写出的效率

                默认缓冲区大小:8192字符

                特有方法:

                        newLine():给内容中写入一个换行

转换流

        InputStreamReader

                作用:将字节流输入流转换为字符输入流

                注意:当读取到的文本文件与代码的编码格式不同时,转换流可以设定读取的编码格式,防止中文乱码,参数为文本文件的编码格式,ANIS==GBK,Eclispe不支持ANIS

        OutputStreamWriter

                作用:将字节输出流转换为字节输出流

                注意:当写入到文本文件与代码的编码格式不同时,转换流可以设定写入的编码格式,防止中文乱码

标准输出流(了解)

        PrintWriter

                特有方法:

                        print();

                        println();

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值