Output Buffering : Buffering « File Input Output « Java






Output Buffering

Output Buffering
     
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));
  }

}
           
         
    
    
    
    
  








Related examples in the same category

1.Endian differences and data storageEndian differences and data storage
2.View BuffersView Buffers
3.Using BuffersUsing Buffers
4.Getting different representations from a ByteBufferGetting different representations from a ByteBuffer
5.Manipulating ints in a ByteBuffer with an IntBufferManipulating ints in a ByteBuffer with an IntBuffer
6.Circular Byte Buffer
7.Circular Char Buffer from http://ostermiller.org
8.Buffered copying
9.Byte Buffer
10.Circular Char Buffer
11.Char Buffer
12.Caching InputStream
13.Caching OutputStream
14.ByteBuffer FloatBuffer demo