首先这个OutputStream是用来将流输出的,比如通过网络发送,或者是输出到屏幕,硬盘上。和InputStream一样,仅仅是一个抽象类,关键方法并没有实现,而是交给子类去实现,比如FileOutputStream。
public abstract class OutputStream implements Closeable, Flushable
该类实现了两个接口 Closeable,Flushable,即需实现两个方法,
一个是用来关闭流,一个是清空流的缓冲区,
public void close() throws IOException;
void flush() throws IOException;
除了close()与flush()方法。以下是OutputStream剩下仅有的三个方法
public abstract void write(int b) throws IOException;
public void write(byte b[]) throws IOException {
write(b, 0, b.length);
}
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]);
}
}