OutputStream是一个抽象类,是所有字节输出流的父类(例如FileOutputStream)
其包含了如下几个常见的方法
1.abstract write(int b)
将指定的字节写入此输入流;
注意:write的常规协定是写入的字节是b的低八位,b的高24位会被自动忽略掉。
2.write(byte[] b)
将b.length个字节写此输入流。
内部实现的是write(byte[] b, 0, b.length);
3.write(byte[] b,int off, int len)
首先我们来看看此方法的内部实现
public void write(byte b[], int off, int len) throws IOException {
if (b == null) {
throw new NullPointerException();
} else if ((off < 0) || (off > b.length) || (len < 0) ||
((off + len) > b.length) || ((off + len) < 0)) {
throw new IndexOutOfBoundsException();
} else if (len == 0) {
return;
}
for (int i = 0 ; i < len ; i++) {
write(b[off + i]);
}
}
4.flush()
刷新此输出流,并强制写出所有被缓冲的输出字节
5.close()
关闭此输出流,并释放所有系统资源,如果关闭最顶层的流,则系统默认会释放掉其下属的所有流对象。