RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Tip: Reducing Unbuffered Streams

Learn how to significantly reduce the number of native calls.

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));


Visit the DevX Tip Bank


Octavia Andreea Anghel is a senior PHP developer currently working as a primary trainer for programming teams that participate at national and international software-development contests. She consults on developing educational projects at a national level. She is a coauthor of the book "XML Technologies--XML in Java" (Albastra, ISBN 978-973-650-210-1), for which she wrote the XML portions. In addition to PHP and XML, she's interested in software architecture, web services, UML, and high-performance unit tests.
Email AuthorEmail Author
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date