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