标签:
字符流的特点:
既然IO流是用于操作数据的,
那么数据的最常见体现形式是:文件。
----------------------------------------------------------------------------------------------------
字符流和字节流:
字节流两个基类:
InputStream OutputStream
字符流两个基类:
Reader Writer
----------------------------------------------------------------------------------------------------
以操作文件为主来演示。
需求:在硬盘上,创建一个文件并写入一些文字数据。
找到一个专门用于操作文件的Writer子类对象。FileWriter。 后缀名是父类名。 前缀名是该流对象的功能。
---------------------------------------------------------------------------------------------------
1 import java.io.*; 2 class FileWriterDemo 3 { 4 public static void main(String[] args) throws IOException 5 { 6 //创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。 7 //而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。 8 //其实该步就是在明确数据要存放的目的地。 9 FileWriter fw = new FileWriter("demo.txt"); 10 //调用write方法,将字符串写入到流中。 11 fw.write("abcde"); 12 //刷新流对象中的缓冲中的数据。 13 //将数据刷到目的地中。 14 fw.flush(); 15 //关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。 16 //将数据刷到目的地中。 17 //和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。 18 fw.close(); 19 } 20 }
-------------------------------------------------------------------------------------------------
异常处理
1 import java.io.*; 2 3 class FileWriterDemo2 4 { 5 public static void main(String[] args) 6 { 7 FileWriter fw = null;//因为finally中要用到fw,所以要这样定义。 8 try 9 { 10 fw = new FileWriter("demo.txt"); 11 fw.write("abcdefg"); 12 } 13 catch (IOException e) 14 { 15 System.out.println("catch:"+e.toString()); 16 } 17 finally 18 { 19 try 20 { 21 if(fw!=null) 22 fw.close();//如果fw已经被关闭了,这里再调用close()会抛异常。 23 } 24 catch (IOException e) 25 { 26 System.out.println(e.toString()); 27 } 28 29 } 30 31 } 32 }
--------------------------------------------------------------------------------
对已有文件进行续写
/* 演示对已有文件的数据续写。 */ import java.io.*; class FileWriterDemo3 { public static void main(String[] args) throws IOException { //传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。 FileWriter fw = new FileWriter("demo.txt",true); // \r回车 \n换行 fw.write("nihao\r\nxiexie"); fw.close(); } }
标签:
原文地址:http://www.cnblogs.com/solar-sys/p/5955749.html