-
Notifications
You must be signed in to change notification settings - Fork 8
The Buffered Streams BufferedOutputStream
Java BufferedOutputStream class is used for buffering an output stream. It internally uses buffer to store data. It adds more efficiency than to write data directly into a stream. So, it makes the performance fast.
For adding the buffer in an OutputStream, use the BufferedOutputStream class. Let's see the syntax for adding the buffer in an OutputStream:
OutputStream os= new BufferedOutputStream(new FileOutputStream("sample.txt"));
BufferedOutputStream(OutputStream out) - Creates a new buffered output stream to write data to the specified underlying output stream. BufferedOutputStream(OutputStream out, int size) - Creates a new buffered output stream to write data to the specified underlying output stream with the specified buffer size.
- void flush() - Flushes this buffered output stream.
- void write(byte[] b, int off, int len) - Writes len bytes from the specified byte array starting at offset off to this buffered output stream.
- void write(int b) - Writes the specified byte to this buffered output stream.
This program uses below text content as input and write to file named "sample.txt".
String content = "This is the text content";
Note : This program uses try-with-resources. It requires JDK 7 or later.
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
/**
* The class demonstrate the usage of BufferedOutputStream class methods.
* @author javaguides.net
*
*/
public class BufferedOutputStreamExample {
public static void main(String[] args) {
File file = new File("sample.txt");
String content = "This is the text content";
try (OutputStream out = new FileOutputStream(file);
BufferedOutputStream bout = new BufferedOutputStream(out);) {
// if file doesn't exists, then create it
if (!file.exists()) {
file.createNewFile();
}
// get the content in bytes
bout.write(content.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}