Java I/O How to - Create a Shared File Lock on a File








Question

We would like to know how to create a Shared File Lock on a File.

Answer

/*from   w  ww. ja v a2  s  .  c  o  m*/
import java.io.File;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;

public class Main {
  public static void main(String[] argv) throws Exception {
    File file = new File("filename");
    FileChannel channel = new RandomAccessFile(file, "rw").getChannel();

    FileLock lock = channel.lock(0, Long.MAX_VALUE, true);

    lock = channel.tryLock(0, Long.MAX_VALUE, true);

    boolean isShared = lock.isShared();

    lock.release();

    channel.close();
  }
}