文章目录

  • InputStream(字节输入流)
  • 常用方法
  • abstract int read()
  • int read(byte b[])
  • int read(byte b[], int off, int len)
  • int available()
  • void close()
  • OutputStream(字节输出流)
  • 常用方法
  • abstract void write(int b)
  • void write(byte b[])
  • void write(byte b[], int off, int len)
  • void flush()
  • void close()
  • 专题文章



大家好,我是水滴~~

本篇介绍字节输入输出流,它们是所有字节流的超类,提供了一些常用方法,我们一起看一下。

InputStream(字节输入流)

java.io.InputStream 是所有字节输入流的超类。需要该类的子类必须实现读取下一个字节的方法。

常用方法

abstract int read()

该方法从输入流读取数据的下一个字节。将读取的字节以 int 型返回,如果读取至末尾,则返回值 -1 。另外,该方法是一个抽象方法,要求子类必须实现此方法。

int read(byte b[])

从输入流中读取多个字节,并将它们存储至缓冲区 b 中。读取的字节数最多等于 b 的长度,也可以读取比 b 长度小的字节数。返回值为实际读取的字节数,如果没有可读取的字节,则返回值 -1。

int read(byte b[], int off, int len)

从输入流中读取 len 个字节,并从缓存区 boff 下标处开始存储(即读取的第一个字节存入缓 b[off] 中,下一个字节存入 b[off + 1] 中…)。同样返回值为实际读取的字节数,如果没有可读取的字节,则返回值 -1。

int available()

返回该输入流中可读取的有效字节数。

void close()

关闭该输入流,并释放与之相关的所有系统资源。

OutputStream(字节输出流)

java.io.OutputStream 是所有字节输出流的超类。需要该类的子类必须实现向输出流写入一个字节的方法。

常用方法

abstract void write(int b)

向输出流中写入一个字节。该方法是一个抽象方法,要求子类必须实现此方法。

void write(byte b[])

向输出流中写入多个字节。该方法将缓存区 b 中的字节写入到输出流中。

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

向输出流中写入多个字节,从缓存区 boff 下标处开始写入 len 个字节。

void flush()

刷新该输出流,强制将缓存区中的字节写出去。

void close()

关闭该输出流,并释放与之相关的所有资源。