zoukankan      html  css  js  c++  java
  • 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的自学历程...只需坚持
  • 相关阅读:
    [更新]一份包含: 采用RSA JWT(Json Web Token, RSA加密)的OAUTH2.0,HTTP BASIC,本地数据库验证,Windows域验证,单点登录的Spring Security配置文件
    fstab文件详解
    Struts2与Spring的Maven依赖冲突
    maven正确的集成命令-U -B 等
    CentOS6安装Jenkins
    CentOS6下Jenkins连接Git服务器出错的问题
    GitLab备份的创建与恢复
    开发App到上架应用市场需要经历什么?
    阅读笔记:A Few useful things to Know About machine Learning
    Feature Tools 简介
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5918187.html
Copyright © 2011-2022 走看看