Minor buffering improvements reading descriptors.
The reading of descriptors is usually done from a BufferedInputStream wrapping the source. The improvement is to change the read from 1k to 8k. This coincides with the stream's internal buffer size. The alternative is 1k reads from an otherwise 8k aligned buffer.
This patch also wraps the writing of disk files in a BufferedOutputStream.