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的自学历程...只需坚持
  • 相关阅读:
    复制datatable的指定行到另外一个datatable
    .NET Framework 版本
    Excel读取
    asp.net技巧
    添加的控件的追赶事件
    MasterPage和内容页之间数据传递
    常用JS方法
    在服务器端修改HTML控件的属性
    IsPostBack深入探讨
    js(javascript)自定义的DateAdd和DateDiff函数以及当前日期的取法
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5918187.html
Copyright © 2011-2022 走看看