❤️ 个人主页:水滴技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
🌸 订阅专栏:Java 教程:从入门到精通
大家好,我是水滴~~
本篇介绍字节输入输出流,它们是所有字节流的超类,提供了一些常用方法,我们一起看一下。
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
个字节,并从缓存区b
的off
下标处开始存储(即读取的第一个字节存入缓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)
向输出流中写入多个字节,从缓存区
b
的off
下标处开始写入len
个字节。
void flush()
刷新该输出流,强制将缓存区中的字节写出去。
void close()
关闭该输出流,并释放与之相关的所有资源。