JavaSE进阶-IO流(二)

    字符流-字符流的基本流                 【重点】
    字符流-字符流的缓冲流                 【重点】
    字符流-字符流的转换流                 【重点】
    Properties集合                     【重点】
    对象操作流                           【了解】


字符流-字符流的基本流                 【重点】
    字符输入流
        Reader抽象类
            |-BufferedReader类           字符缓冲流
            |-InputStreamReader类        转换流
                |-FileReader类           字符基本流

    字符输出流
        Writer抽象类
            |-BufferedWriter类           字符缓冲流
            |-OutputStreamWriter类       转换流
                |-FileWriter类           字符基本流

    FileWriter类
        它是Writer类的子类,所以Writer中的共性方法都可以使用
         void write(char[] cbuf)
         void write(char[] cbuf, int off, int len)
         void write(int c)

         void write(String str)
         void write(String str, int off, int len)

         void close()
         void flush()

        构造方法
            FileWriter(String fileName)
            FileWriter(File file)
            FileWriter(String fileName, boolean append)
            FileWriter(File file, boolean append)

        close()和flush()方法的区别
            close方法会先刷新,然后关闭流,调用完close方法不能继续使用流
            flush方法只会刷新,不会关闭流,调用完flush方法可以继续使用流


    FileReader类
        它是Reader类的子类,所以Reader中的共性方法都可以使用
         int read():一次读取一个字符,如果读取到文件末尾返回-1
         int read(char[] cbuf):一次读取一个字符数组,
                                返回读取到数组中的有效字符个数,
                                如果读取到文件末尾返回-1
         void close()

        构造方法
            FileReader(String pathname)
            FileReader(File file)

            1、创建流对象,关联要操作的文件
            2、读或者写操作
            3、关闭流


    字符流的复制
        字符流的使用场景:
            字符流只能操作纯文本文件,不能操作非纯文本文件
            纯文本文件:windows自带记事本能正常打开的
            非纯文本文件:比如视频、图片、音频、doc等

            字符流 = 字节流+数组+编码表
                读取的时候,以字节方式读取到,然后查询编码表变成字符
                写出的时候,将字符查询编码表变成字节,然后写出
                编码表中只有各国文字、符号、数字等的对应关系,没有图片、视频等非纯文本的对应关系

        如果要操作非纯文本文件只能选择字节流
        如果是操作纯文件既可以选择字节流,也可以选择字符流
            操作纯文件时如果是单独的读或者写,选择字符流,否则都选择字节流

            读:防止中文乱码问题
            写:更加方便,可以直接写字符串

字符流-字符流的缓冲流                 【重点】
    BufferedWriter类
        * 构造方法
            BufferedWriter(Writer out)

    BufferedReader类
        * 构造方法
            BufferedReader(Reader in)

    字符流的缓冲流除了可以使用共性方法之外,它们还有特有方法,分别学习它们的一个特有方法:
        BufferedWriter类
            * void newLine()
              跨平台的换行

        BufferedReader类
            *  String readLine()  :读取一行数据

    字符缓冲流的作用:
        1、可以提高读和写的效率,底层有数组
        2、提供了更强大的功能

字符流-字符流的转换流                 【重点】

Properties集合                     【重点】
    是一个双列集合,它的父类是Hashtable,所以Properties间接实现了Map接口。
    Map接口的共性方法对于Properties集合都可以使用。
    Properties集合封装属性集,封装的键和值都是字符串类型的,和其他的集合不同它没有泛型

    构造方法
        Properties()

    成员方法
        共性的方法       [了解]


        特有的方法       [重点]
             Object setProperty(String key, String value) :相当于put方法
             String getProperty(String key):相当于get方法
             void store(OutputStream out, String comments)   [了解]:存储,
                将Properties集合中的数据通过输出流写出到指定的文件中
             void load(InputStream inStream):加载
                通过输入流将指定文件中的数据读取到Properties集合中


     Properties集合的使用场景
        用于读取.properties后缀的配置文件

        Java中的配置方式
            1、配置文件方式
                (1).properties
                (2).xml
            2、注解

对象操作流                           【了解】
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值