Java - IO - Buffer Streams

Java Conceptuel Diagram


Without buffer, each read or write request is handled directly by the underlying OS. This can make a program much less efficient, since each such request often triggers:

  • disk access,
  • network activity,
  • or some other operation

that is relatively expensive.


Java has buffer streams:



Flushing is a specific operations of Buffered Streams.

Flushing an output stream forces any buffered output bytes to be written out.

The general contract of flush is that calling it is an indication that, if any bytes previously written have been buffered by the implementation of the output stream, such bytes should immediately be written to their intended destination.

The buffer can be flushed:

  • automatically. The output classes must support the autoflush configuration.
  • or by invoking its flush method. (The flush method is valid on any output stream, but has no effect unless the stream is buffered)

When a close method is called on a such a class, it automatically performs a flush. There is no need to explicitly call flush before calling close.

Discover More
Card Puncher Data Processing
Data Processing - Buffer (Batch concept in code)

Buffers are catalog containers of a (fixed|variable with max) amount of data or operations. memoryblocksdisk Without buffer, each read or write request is handled directly by the underlying layer (OS,...
Java Conceptuel Diagram
Java - IO - Character Stream

Character streams are build above byte stream. They decodes bytes into characters (or the other way around) using a specified charset. The Java platform stores character values using Unicode conventions....

Share this page:
Follow us:
Task Runner