A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 顶住 初级黑马   /  2019-5-19 10:18  /  1432 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • IO流介绍
    • IO:输入/输出(Input/Output)
    • 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输
    • IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载

  • IO流的分类
    • 按照数据的流向
      • 输入流:读数据
      • 输出流:写数据

    • 按照数据类型来分
      • 字节流
        • 字节输入流
        • 字节输出流

      • 字符流
        • 字符输入流
        • 字符输出流



  • IO流的使用场景
    • 如果操作的是纯文本文件,优先使用字符流
    • 如果操作的是图片、视频、音频等二进制文件。优先使用字节流
    • 如果不确定文件类型,优先使用字节流。字节流是万能的流


3.2字节流写数据【应用】
  • 字节流抽象基类
    • InputStream:这个抽象类是表示字节输入流的所有类的超类
    • OutputStream:这个抽象类是表示字节输出流的所有类的超类
    • 子类名特点:子类名称都是以其父类名作为子类名的后缀

  • 字节输出流
    • FileOutputStream(String name):创建文件输出流以指定的名称写入文件

  • 使用字节输出流写数据的步骤
    • 创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
    • 调用字节输出流对象的写数据方法
    • 释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)
    • 字节缓冲流介绍
      • BufferOutputStream:该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用
      • BufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组。 当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多字节
      • 字符流写数据的5种方式【应用】
        • 方法介绍
          方法名
          说明

          void   write(int c)写一个字符
          void   write(char[] cbuf)写入一个字符数组
          void write(char[] cbuf, int off, int len)写入字符数组的一部分
          void write(String str)写一个字符串
          void write(String str, int off, int len)写一个字符串的一部分
        • 刷新和关闭的方法
          方法名
          说明

          flush()刷新流,之后还可以继续写数据
          close()关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据

    • 构造方法:
      方法名
      说明

      BufferedOutputStream(OutputStream out)创建字节缓冲输出流对象
      BufferedInputStream(InputStream in)创建字节缓冲输入流对象
    • 字节流写数据的三种方式【应用】
      • 写数据的方法分类
        方法名
        说明

        void   write(byte b)将指定的字节写入此文件输出流   一次写一个字节数据
        void   write(byte[] b)将 b.length字节从指定的字节数组写入此文件输出流   一次写一个字节数组数据
        void   write(byte[] b, int off, int len)将 len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流   一次写一个字节数组的部分数据



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马