流把对数据的读写进行人为抽象,抽象成数据在管道中流动
流是单向的
输入流,只能用来读取数据
输出流,只能用来输出数据
流只能顺序读写数据
——流只能一次性从头到尾流动
—— 流动过的数据不能重复流动,只能是一次性的,最后一个字节读完,流就没用了
——重复读写数据,只能新建流,从头读写
InputStream/OutputStream
字节流的抽象父类
抽象类不能创建对象,如果要创建对象,只能创建子类对象
public abstract class InputStream implements Closeable {}
public abstract class OutputStream implements Closeable, Flushable {}
方法:
3个重载的write方法
write(int b)
write(byte[])
write(byte[],start,length)
flush()刷出缓存数据
2个重载的read方法
read()读一个字节
read(byte[])读一批
available()剩余可读取的字节数量
public int available() throws IOException {
return 0;
}