A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sbsbsb 中级黑马   /  2015-5-8 22:01  /  300 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

转换流(理解)
        (1)如果有字节流对象,为了使用字符流的功能,就必须使用转换流进行操作。
        (2)案例:
                键盘录入数据

                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                BufferddWriter bw = new BufferedWriter(new FileWriter("a.txt"));

                String line = null
                while((line=br.readLine())!=null)
                {
                        if("over".equals(line))
                        {
                                break;
                        }

                        bw.write(line);
                        bw.newLine();
                        bw.flush();
                }

                bw.close();
                br.close();

                把文本文件的数据通过流对象在控制台显示

                BufferedReader br = new BufferedReader(new FileReader("a.txt"));
                BufferddWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

                String line = null
                while((line=br.readLine())!=null)
                {
                        bw.write(line);
                        bw.newLine();
                        bw.flush();
                }

                bw.close();
                br.close();

3:打印流(掌握)
        (1)打印流是写数据的。
        (2)特点:
                A:可以写任意数据类型的数据
                B:如果启动了自动刷新,能自动刷新,还会换行。println()
                C:可以直接往文件写数据
                        注意:哪些流对象可以直接读写文件?
                        看构造方法,如果同时有String和File的构造参数,那么该流对象就可以读写文件。
        (3)用打印流改进复制文本文件的操作
                数据源:
                        c:file:///C:\Users\ADMINI~1\AppData\Local\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png\\a.txt
                目的地:
                        d:file:///C:\Users\ADMINI~1\AppData\Local\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png\\b.txt

                BufferedReader br = new BufferedReader(new FileReader("c:file:///C:\Users\ADMINI~1\AppData\Local\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png\\a.txt"));
                PrintWriter pw = new PrintWriter(new FileWriter("d:file:///C:\Users\ADMINI~1\AppData\Local\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png\\b.txt"),true);

                String line = null;
                while((line=br.readLine())!=null)
                {
                        pw.println(line);
                }

                pw.close();
                br.close();

4:序列化流(理解)
        (1)序列化:把对象按照流一样的方式在网络中传输,或者存储到文本文件
           反序列化:把流数据还原成对象
        (2)如何实现序列化?
                A:被序列化的对象所属的类必须实现序列化接口
                B:用序列化流对象进行操作
        (3)序列化(对象)流对象
                ObjectInputStream:
                        Object readObject()
                ObjectOutputStream:
                        void writeObject(Object obj)
        (4)掌握:
                A:看到类实现了序列化接口,就知道该类可以被序列化流对象操作
                B:看到类实现了序列化接口,知道点击鼠标就可以解决黄色警告问题
5:字符编码(理解)
        (1)编码表:
                就是字符和对应的数据组成的一张表。
        (2)常见的编码表:
                ASCII
                ISO-8859-1
                GBK
                GB2310
                GB18030
                UTF-8
                BIG5        --        自己问问度娘
        (3)转换流中的编码问题
                A:字符流 = 字节流+编码表
                B:通过转换流写入数据,指定为UTF-8编码,并通过UTF-8编码读取。
6:Properties(理解)
        (1)是Map体系一个集合类。
        (2)特点:
                A:可以把集合中的数据保存到文本文件,也可以把文本文件的数据加载到集合中。
                B:该集合的键和值都是String类型
        (3)特殊功能:
                A:setProperty(String key,String value)
                B:getProperty(String key)
                  getProperty(String key,String defaultValue)
                C:Set<String> stringPropertyNames()
        (4)和IO流结合的方法:
                A:list 通过打印流把数据保存到文件中
                B:load 通过任意流把文本中的数据加载到集合中
                C:store 通过任意流把数据保存到文件中



评分

参与人数 4技术分 +3 黑马币 +21 收起 理由
33姗姗 + 3 + 3 淡定
z小怪兽 + 5 赞一个!
wenhb + 3
努力 + 10 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马