ファイルをロックする方法

とある事情で、Javaプログラムからファイルへロックを掛ける方法を考えていたので、見つけた方法を記述します。
java.nioパッケージのFileChannelとFileLockを利用する方法です。サンプルソースを載せておこっと。今度参照する機会があれば良いな。


public class FileLockSample {
 public static void main(String[] args) throws Exception{
  final String filePath = "src/filelock/target.txt";
  File lockFile = new File(filePath);
  FileOutputStream fs = null;
  try{
   fs = new FileOutputStream(lockFile);
   FileChannel ch = fs.getChannel();
   FileLock lock = null;
   try {
    lock = ch.tryLock(); //ロックを取得
    //ロックを取得しての処理
    
   } finally {
    if(lock != null) lock.release();
   }
  }finally{
   if(fs != null) fs.close();
  }
 }
}