您的位置:首页 > 职场人生

黑马程序员__关于学习Java中IO流的FileWriter的总结

2013-05-18 01:43 567 查看
[align=left]                -------android培训java培训、期待与您交流!--------[/align]
[align=center] [/align]
[align=left]     Java对数据的操作是通过流的方式,而操作流的对象都在IO包中,IO流用来处理设备之间的数据传输[/align]
[align=left]     IO流按操作数据分为:字节流和字符流(其中字符流效率较高,采用国际标准unicode编码)[/align]
[align=left]     IO流按流向分为:输入流,输出流[/align]

     IO流常用基类

            字节流的抽象基类:InputStream,OutputStream

            字符流的抽象基类:Reader,Writer

     由这四个基类派生的子类名称以父类名作为子类的后缀,以操作的对象作为前缀。例如:FileInputStream,FileOutputStream,FileReader,FileWriter.......
     数据的最常见体现方式是文件
     下面是一个FileWriter类的实例:
import java.io.*;
class FileWriterDemo{
public static void main(String args[]){
FileWriter fw = null;   //创建一个FileWriter引用
try{
//将引用指向一个新的FileWriter对象,该对象一旦被初始化就必须制定要被操作的文件
//如果文件不制定目录 将会被创建默认的目录中,并将其原有的同名文件覆盖
fw = new FileWriter("FileWriterDemo.txt");
//调用write方法,将字符串写入流中
fw.write("Hello World");

//fw.flush();  //刷新流对象缓冲区的数据,将数据写入文件中
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(fw!=null)
//关闭资源,但关闭之前会刷新一次缓冲区的数据,并将数据写入文件。
fw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}


     
其中此例中有对IOException异常的捕获处理,首先先创建一个引用而不是直接在try块中初始化对象,原因是在try、catch、finally这三个代码块中并不共享其内部声明的变量。
总结:close()方法和flush()方法的区别是flush刷新后,流可以继续使用,close是刷新一次后将流关闭。

如果想要对原来文件的内容进行续写而不是覆盖,需要在初始化FileWriter对象是用另外一个构造函数,

FileWriter fw = new FileWriter("FileWriterDemo.txt",true);


在构造函数的第二个参数为true是,表示将数据写入文件末尾处,而不是写入文件开始处 。

-------android培训java培训、期待与您交流!
----------
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: