When you use the method write(byte[] b) to write to a BufferedOutputStream, the write method from FilterOutputStream is used. The documentation says:
"The write method of FilterOutputStream calls its write method of three arguments with the arguments b, 0, and b.length. "
Which write method with three arguments is it referring to? The one in FilterOutputStream, or the one in BufferedOutputStream? (i.e. is the write actually buffered?).
I believe it is, but I'm not sure.