Java Language Writing a file using Channel and Buffer


Example

To write data to a file using Channel we need to have the following steps:

  1. First, we need to get an object of FileOutputStream
  2. Acquire FileChannel calling the getChannel() method from the FileOutputStream
  3. Create a ByteBuffer and then fill it with data
  4. Then we have to call the flip() method of the ByteBuffer and pass it as an argument of the write() method of the FileChannel
  5. Once we are done writing, we have to close the resource
import java.io.*;
import java.nio.*;
public class FileChannelWrite {

 public static void main(String[] args) {

  File outputFile = new File("hello.txt");
  String text = "I love Bangladesh.";

  try {
   FileOutputStream fos = new FileOutputStream(outputFile);
   FileChannel fileChannel = fos.getChannel();
   byte[] bytes = text.getBytes();
   ByteBuffer buffer = ByteBuffer.wrap(bytes);
   fileChannel.write(buffer);
   fileChannel.close();
  } catch (java.io.IOException e) {
   e.printStackTrace();
  }
 }
}