黑马程序员第18天文件流的读写01

来源:互联网 发布:爱奇艺网络大电影计划 编辑:程序博客网 时间:2024/06/05 03:29
------- <a href="http://www.itheima.com" target="blank">android培训</a><a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
概述IO分类:
           流安操作数据分为两种:字节流与字符流(融合了编码表)
           流按流向分为:输入流,输出流
IO流常用基类:
           字节流的抽象基类:
           InputStream,OutputStream
           字符流的抽象基类:
            Reader,Writer
InputStream中的FileWriter子类:
           FileWriter新建对象如果该目录下没有同名文件时会自动创建文件,如果有同名文件是会替换原文件(删除了原文件)
           例:FileWriter fw=new FileWriter("d:abc.txt");
          调用write方法,将字符串写入到流中(并没在文件中呈现);
           fw.write("abc");
           刷新流对象中缓冲区的数据到指定文件
           fw.flash();
           关闭流资源,但是关闭之前会刷新一次内部的缓冲数据到目的文件中和flash区别,flash刷新后,流可以继续使用,close刷新后,关闭流资源。
          fw.close();必须步骤,关闭资源
           finally中fw.close()必须进行异常处理:因为try中抛出异常后finally还要执行,则fw.close()也会报出异常。且必须在关闭fw之前判断fw!=null,因为FileWriter创建失败fw则为null.多对象一个一个关。
           对已有文件的续写:FileWriter fw=new FileWriter("文件位置",true);(换行:\r\n)
Read中的FileReader子类
       read()方法:
           FileReader中read()方法依次读一个。返回的是整数,末尾返回-1.
                while(true){   int ch=fr.read();   if(ch==-1) break; System.out.println("ch="+(char)ch); }
        read(char [])方法:
                  该方法返回的是读到的字符个数,末尾返回-1. 
原创粉丝点击