Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Nov 20, 2017

Reducing Unbuffered Streams

InputStream in = new FileInputStream(file);
int q;
while ((q = in.read()) != -1) {

The code above reads a file byte by byte. Every read() method call on the stream causes a native call to native implementation of the filesystem. Depending on the implementation this may cause a syscall to the operating system. The number of native calls can be reduced significantly by wrapping the stream into a BufferedInputStream:

InputStream in = new BufferedInputStream(new FileInputStream(file));
Octavia Anghel
Thanks for your registration, follow us on our social networks to keep up-to-date