How do you decide what byte[] size to use for InputStream.read()?

Most people use powers of 2 for the size.
If the buffer is at least 512 bytes, it doesn’t make much difference ( < 20% )

For network the optimal size can be 2 KB to 8 KB (The underlying packet size is typically up to ~1.5 KB) For disk access, the fastest size can be 8K to 64 KB. If you use 8K or 16K you won’t have a problem.

Note for network downloads, you are likely to find you usually don’t use the whole buffer. Wasting a few KB doesn’t matter much for 99% of use cases.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)