java 字节流
在 Java 中,把这些不同类型的输入、输出源抽象为流(Stream),而其中输入或输出的数据则称为数据流(Data Stream)
字节流主要操作byte类型数据,以byte数组为准,java 中每一种字节流的基本功能依赖于基本类 InputStream 和 Outputstream,他们是抽象类,不能直接使用。
InputStream 是所有表示位输入流的父类,继承它的子类要重新定义其中所定义的抽象方法。InputStream 是从装置来源地读取数据的抽象表 示,例如 System 中的标准输入流 in 对象就是一个 InputStream 类型的实例。
字节流 主要操作byte类型数据,byte 数组为准,
在 InputStream 类中,方法 read() 提供了三种从流中读数据的方法:
int read():从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)
int read(byte b[]):读多个字节到数组中,填满整个数组
int read(byte b[],int off,int len):从输入流中读取长度为 len 的数据,写入数组 b 中从索引 off 开始的位置,并返回读取得字节数。
outStream
方法 说明
write(int b)throws IOException 将一个整数输出到流中(只输出低位字节,为抽象方法)
write(byte b[])throws IOException 将字节数组中的数据输出到流中
write(byte b[], int off, int len)throws IOException 将数组 b 中从 off 指定的位置开始,长度为 len 的数据输出到流中
flush()throws IOException 刷空输出流,并将缓冲区中的数据强制送出
close()throws IOException 关闭流
四、缓冲流
BufferedOutputStream 的数据成员 buf 是一个位数组,默认为512字节。当使用 write() 方法写入数据时,实际上会先将数据写至 buf 中,当 buf 已满时才会实现给定的 OutputStream 对象的 write() 方法,将 buf 数据写至目的地,而不是每次都对目的地作写入的动作。