zoukankan      html  css  js  c++  java
  • 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());
                }
            }
        }
    }
  • 相关阅读:
    数据结构与算法问题 二叉搜索树
    hdu 2066 一个人的旅行
    什么是string interning(字符串驻留)以及python中字符串的intern机制
    云计算时代告别phpMyAdmin
    HTML5吃豆豆游戏开发实战(一)使用Canvas绘制游戏主角
    菜鸟nginx源代码剖析数据结构篇(七) 哈希表 ngx_hash_t(下)
    条件传送和条件控制转移
    例题2.8 总是整数 LA4119
    leetCode 82.Remove Duplicates from Sorted List II (删除排序链表的反复II) 解题思路和方法
    什么是大数据精准营销?
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2880834.html
Copyright © 2011-2022 走看看