Java基础之IO流,创建文件并写入内容与IO异常的标准处理方法

IO(Input Output)流:

1、IO流用来处理设备之间的数据传输
2、Java对数据的操作是通过流的方式
3、Java用于操作流的对象都在IO包中
4、流按操作数据分为两种:字节流与字符流
5、流按流向分为:输入流与输出流

字节流的抽象基类:
1、InputStream
2、OutputStream

字符流的抽象基类:
1、Reader
2、Writer

由这四个类派生出来的子类名称都是以其父类名做为子类名的后缀,如:
InputStream 的子类:FileInputStream
Reader 的子类:FileReader

示例:

 

import java.io.*;
class FileWriterDemo
{
    public static void main(String[] args)
    {
        /*
            创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件。
            而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被覆盖掉。
            其实该步就是在明确数据要存放的目的地。
        
*/
        FileWriter fw = new FileWriter("demo.txt");
        
        //调用write方法,将字符串写入到流中。
        fw.write("abcdef");
        
        //刷新流对象中的缓冲中的数据,将数据刷到目的地中。
        fw.flush();
        
        /*
            关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。
            将数据刷到目的地中。
            和flush区别:flush刷新后,流可以继续使用,close刷新后,将会关闭流。
        
*/
        fw.close();
    }
}

 

IO异常处理的方式:

 

import java.io.*;
class FileWriterDemo
{
    public static void main(String[] args)
    {    
        //在外部建立对象引用
        FileWriter fw = null;
        
        try
        {
            //在try内进行初始化
            fw = new FileWriter("demo.txt");
            fw.write("abcdef");
        }
        catch(IOException e)
        {
            System.out.println("Error:"+e.getMessage());
        }
        finally
        {
            try
            {
                //如果流存在,始终关闭流资源,如果有多个流存在,需要单个去关半。
                if(null != fw) 
                    fw.close();
            }
            catch(IOException e)
            {
                System.out.println("Error:"+e.getMessage());
            }
        }
    }
}

 

posted @ 2013-01-29 08:49  陈晓明  阅读(1235)  评论(0编辑  收藏  举报