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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tao13yang 中级黑马   /  2015-7-28 20:58  /  399 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

****FileWriter写入数据
                步骤:
                        A:创建字符输出流对象
                        B:调用写入数据方法,并刷新缓冲区
                        C:释放资源

                代码体现:
                        FileWriter fw = new FileWriter("a.txt");

                        fw.write("hello,io");
                        fw.flush();

                        fw.close();

                问题?
                        A:创建字符输出流对象做了几件事情?
                         a:创建字符输出流对象
             b:调用对象的写入数据方法,并刷新缓冲区
                         c:释放资源
                        B:写数据完毕后,为什么要刷新?       
                              流是写在缓冲区的,需要刷新。

                        C:为什么要close()?
                                   1:让流对象变成垃圾
                              2:通知系统去释放和文件相关的资源

                        D:flush()和close()的区别?
                                 flush():只刷新缓冲区,流对象还可以继续使用。
                                      close():先刷新缓冲区,在关闭流对象。流对象不可以继续被使用。

                        E:怎么实现数据换行?
                         给出换行符
                         windows:\r\n
                         linu:\n
                         mac:\r

                        F:怎么实现数据追加写入?
                        构造时用带两个参数的
                        public FileWriter(String fileName,true){}

****FileReader读取数据
                步骤:
                        A:创建字符输入流对象
                        B:调用读取数据方法,并显示
                        C:释放资源

                代码体现:
                        FileReader fr = new FileReader("a.txt");
                       
                        //方式1
                        //一次读取一个字符
                        int ch = 0;
                        while((ch=fr.read())!=-1)
                        {
                                System.out.print((char)ch);
                        }

                        //方式2
                        //一次读取一个字符数组
                        char[] chs = new char[1024];
                        int len = 0;
                        while((len=fr.read(chs))!=-1)
                        {
                                System.out.print(new String(chs,0,len));
                        }

                        fr.close();

0 个回复

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