Java学习第二十一天

1:字符流(掌握)
    (1)字节流操作中文数据不是特别的方便,所以就出现了转换流。
       转换流的作用就是把字节流转换字符流来使用。
    (2)转换流其实是一个字符流
        字符流 = 字节流 + 编码表
    (3)编码表
        A:就是由字符和对应的数值组成的一张表
        B:常见的编码表
            ASCII
            ISO-8859-1
            GB2312
            GBK
            GB18030
            UTF-8
        C:字符串中的编码问题
            编码
                String -- byte[]
            解码
                byte[] -- String
    (4)IO流中的编码问题
        A:OutputStreamWriter
            OutputStreamWriter(OutputStream os):默认编码,GBK
            OutputStreamWriter(OutputStream os,String charsetName):指定编码。
        B:InputStreamReader
            InputStreamReader(InputStream is):默认编码,GBK
            InputStreamReader(InputStream is,String charsetName):指定编码
        C:编码问题其实很简单
            编码只要一致即可
    (5)字符流
        Reader
            |--InputStreamReader
                |--FileReader
            |--BufferedReader
        Writer
            |--OutputStreamWriter
                |--FileWriter
            |--BufferedWriter
    (6)复制文本文件(5种方式)

2:IO流小结(掌握)
    IO流
        |--字节流
            |--字节输入流
                InputStream
                    int read():一次读取一个字节
                    int read(byte[] bys):一次读取一个字节数组
                
                    |--FileInputStream
                    |--BufferedInputStream
            |--字节输出流
                OutputStream
                    void write(int by):一次写一个字节
                    void write(byte[] bys,int index,int len):一次写一个字节数组的一部分
                    
                    |--FileOutputStream
                    |--BufferedOutputStream
        |--字符流
            |--字符输入流
                Reader
                    int read():一次读取一个字符
                    int read(char[] chs):一次读取一个字符数组
                    
                    |--InputStreamReader
                        |--FileReader
                    |--BufferedReader
                        String readLine():一次读取一个字符串
            |--字符输出流
                Writer
                    void write(int ch):一次写一个字符
                    void write(char[] chs,int index,int len):一次写一个字符数组的一部分
                    
                    |--OutputStreamWriter
                        |--FileWriter
                    |--BufferedWriter
                        void newLine():写一个换行符
                        
                        void write(String line):一次写一个字符串

3:案例(理解 练习一遍)
    A:复制文本文件 5种方式(掌握)
    B:复制图片(二进制流数据) 4种方式(掌握)
    C:把集合中的数据存储到文本文件
    D:把文本文件中的数据读取到集合并遍历集合
    E:复制单级文件夹
    F:复制单级文件夹中指定的文件并修改名称
        回顾一下批量修改名称
    G:复制多级文件夹
    H:键盘录入学生信息按照总分从高到低存储到文本文件
    I:把某个文件中的字符串排序后输出到另一个文本文件中
    J:用Reader模拟BufferedReader的特有功能
    K:模拟LineNumberReader的特有功能

 

posted @ 2016-12-12 17:16  浅浅水声  阅读(221)  评论(0编辑  收藏  举报