一、javaSE (二十一)字符流、IO流小结、案例

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 charset):指定编码

                   B:InputStreamReader

                            InputStreamReader(InputStreamReader is):默认编码,GBK

                            InputStreamReader(InputStreamReader is,String charset):指定编码

                   C:编码问题其实很简单

                            编码只要一致即可

         (5)字符流

                   Reader

                            |--InputStreamReader

                                     |--FilerReader

                            |--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

                                               1--BufferedReader

                                                        String readLine();一次读取一个字符串

                            |--字符输出流

                                     Writer

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

                                               void write(char[]cha, int index,int1en):一次写一个字符数组的一部分

 

                                               |--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 @ 2018-01-13 21:45  秋心无波  阅读(124)  评论(0编辑  收藏  举报