IO流之OutputStream、InputStream详解

前言

  • 学习之前,需要对IO流的分类有个简单的认识,下列是关于本文的IO流分类介绍

IO流的分类

  • 按流的方向划分
    • 输入流
    • 输出流
  • 按流动的数据类型划分
    • 字节流
    • 字符流

本文提到的OutputStream、InputStream属于字节流

  • 字节流
    • 输入流
      • 顶级父类InputStream
    • 输出流
      • 顶级父类OutputStream
  • 还需要明确一个概念
    • 计算机中的任何数据(文本、图片、视频等)都是二进制存储的
    • 8个二进制位(bit)为一个字节(byte)
    • IO流的底层都是二进制
  • “流”其实就是传输数据的管道,把数据从管道的一段输送到另一端
    • 流入管道的一方是输入流,即读取某些数据,放到管道中
    • 流出管道的一方是输出流,即把管道里的数据,写入到某些文件中

一、java.io.OutputStream

1、概述

  • 抽象类是表示字节输出流的所有类的超类
    • 也就是所有字节输出流的顶级父类

2、常用API

void close()

  • 关闭此输出流,释放与该流有关的所有系统资源
    • 当不再需要用到流对象时,尽早关闭流对象
    • 如果不确定什么时候会用到流对象,那么在程序的最后一定要记得关闭流对象

void flush()

  • 刷新此输出流,强制写出任何缓冲的字节数据

void write(byte[] b)

  • 将字节数组b中存储的数据,通过输出流对象写出

void write(byte[] b, int off, int len)

  • 将字节数组b中存储的数据,从起始下标off开始,通过流对象写出len个数据

abstract void write(int b)

  • 该方法由子类实现,将指定的字节通过此流对象写出
  • 写到文档时,写入的int数据会根据ASCALL表转化为对应的字符

二、FileOutputStream

1、概述

  • 是字节输出流(OutputStream)最常用的子类

2、构造方法分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值