Java I/O How to - Write byte array to a file with FileChannel via RandomAccessFile








Question

We would like to know how to write byte array to a file with FileChannel via RandomAccessFile.

Answer

  // w ww.  ja  va  2s  .  c  o m

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Main {
  private static final int BSIZE = 1024;

  public static void main(String[] args) throws Exception {
    FileChannel fc = new RandomAccessFile("data.txt", "rw").getChannel();
    fc.position(fc.size());
    fc.write(ByteBuffer.wrap("Some more".getBytes()));
    fc.close();

  }
}