java中的IO流

字符流的特点:

既然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);
       // 
回车  
换行
        fw.write("nihao
xiexie");

        fw.close();
    }
}

 

原文地址:https://www.cnblogs.com/solar-sys/p/5955749.html