It depends on how you read the data. If you read from FileInputStream very inefficiently (for example, byte-by-bit reading ()), then using BufferedInputStream can greatly improve the situation. But if you already use a reasonable size buffer with FileInputStream, switching to BufferedInputStream doesn't matter.
Since you are talking about a large number of very small files, there is a high probability that most of the delay is associated with directory operations (open, closed), rather than actually reading bytes from the files.
David gelhar
source share