Example of Output Buffering

From Java Example Source Code

Jump to: navigation, search

Contents

[edit] Overview - Example of Output Buffering

This is a example of Java program.

[edit] Java Source Code

  • Package:com.bruceeckel
  • File: OutputStreamDemo.java
package com.bruceeckel;
 
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
 
// Buffering may speed up writes to a FileOutputStream, but not for 
// a FileWriter, because a FileWriter is
// an OutputStreamWriter, which already uses the buffering.
public class OutputStreamDemo {
    public static void main(String[] args) throws IOException {
	OutputStream os1 = new FileOutputStream("tmp1.dat");
	writeints("Unbuffered: ", 1000000, os1);
	OutputStream os2 = new BufferedOutputStream(new FileOutputStream(
		"tmp2.dat"));
	writeints("Buffered:   ", 1000000, os2);
	Writer wr1 = new FileWriter("tmp1.dat");
	writeints("Unbuffered: ", 1000000, wr1);
	Writer wr2 = new BufferedWriter(new FileWriter("tmp2.dat"));
	writeints("Buffered:   ", 1000000, wr2);
    }
 
    static void writeints(String msg, int count, OutputStream os)
	    throws IOException {
	long currentTime = System.currentTimeMillis();
	for (int i = 0; i < count; i++)
	    os.write(i & 255);
	os.close();
	System.out.println(msg
		+ Long.toString(System.currentTimeMillis() - currentTime));
    }
 
    static void writeints(String msg, int count, Writer os) throws IOException {
	long currentTime = System.currentTimeMillis();
	for (int i = 0; i < count; i++)
	    os.write(i & 255);
	os.close();
	System.out.println(msg
		+ Long.toString(System.currentTimeMillis() - currentTime));
    }
 
}

[edit] What Result You Can Get

Run the program, you will get:


Unbuffered: 1081
Buffered:   21
Unbuffered: 380
Buffered:   140

[edit] Required External Library for this Java Example

Need nothing.


[edit] How to Run this Java Example Program

We recommend running this Java example program with Eclipse.

For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.

It's fairly easy.

Personal tools