• java 20


     IO流的分类:
      

     流向

         输入流 读取数据
         输出流 写出数据
      

     数据类型:
         字节流
            字节输入流 读取数据 InputStream
            字节输出流 写出数据 OutputStream
         字符流
            字符输入流 读取数据 Reader
            字符输出流 写出数据 Writer

     注意:一般我们在探讨IO流的时候,如果没有明确说明按哪种分类来说,默认情况下是按照数据类型来分的。

    ------------------------------------割割割----------------------------------------------------

     例子:

       需求:往一个文本文件中输入一句话:"hello,io"

       分析:
       A:这个操作最好是采用字符流来做,但是呢,字符流是在字节流之后才出现的,所以,先试试用字节操作。
       B:由于只是要往文件中写一句话,所以要采用字节输出流。

      

    字节输出流操作步骤:
       A:创建字节输出流对象
       B:写数据
       C:释放资源

       
       要想采用字节输出流,首先要创建一个字节输出流对象 
       通过上面的分析后我们知道要使用:OutputStream
       但是通过查看API,我们发现该流对象是一个抽象类,不能实例化。
       所以,我们要找一个具体的子类。
       而我们要找的子类是什么名字的呢?这个时候,很简单,我们回想一下,我们是不是要往文件中写东西。
       文件是哪个单词:File
       然后用的是字节输出流,联起来就是:FileOutputStream
       注意:每种基类的子类都是以父类名作为后缀名
       字节流: XxxOutputStream
            XxxInputStream
       字符流: XxxReader
            XxxWriter


     查看FileOutputStream的构造方法:
         A、FileOutputStream(File file)    

    File file = new File("fos.txt");
    FileOutputStream fos = new FileOutputStream(file);

         B、FileOutputStream(String name)

    FileOutputStream fos = new FileOutputStream("fos.txt");

    两个效果一样。所以,倾向于用第二种

    创建字节输出流对象了做了几件事情:
       A:调用系统功能去创建文件
       B:创建fos对象
       C:把fos对象指向这个文件

    创建了字节输出流对象,接着就要往里面写入想要的字节:

    由于"hello,IO"是字符串,而我们现在用的是字节流,所以要把它转成字节后再输出

    fos.write("hello,IO".getBytes());
    fos.write("java".getBytes());

    做完这些,其实字节输出流已经完成,但是,还有最重要的一步要做:

    fos.close();

    释放资源(很重要)
      关闭此文件输出流并释放与此流有关的所有系统资源。
    为什么一定要close()呢?
      A:让流对象变成垃圾,这样就可以被垃圾回收器回收了(若fos没有close,则fos流对象可以继续使用)
      B:通知系统去释放跟该文件相关的资源

    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    Hibernate执行访问步骤及增删改查
    Tuscany SCA 发布Web Service
    AJAX概述
    WSDL概述与结构
    Android常用的简单代码
    volatile/synchronized
    SOAP概述和结构
    [原]spring学习笔记6.补遗2
    [原]spring学习笔记9.1Spring对Aop的支持AOP基础篇
    [转]转个经典的帖子:说故事学设计模式之Java静态代理模式
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5918187.html
Copyright © 2020-2023  润新知