Nov 08
Java’da dosya üzerinde bir işlem yaparken dosyayı kilitlemek istiyorsanız aşağıdaki kodu kullanabilirsiniz.
Kodu çalıştırdığınız zaman java.io.IOException atacaktır. Java kilitli dosyayı okumaya izin vermeyecektir.
import java.io.*;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
public class FileLockSample {
public static void main(String[] args) throws Exception {
RandomAccessFile file = null;
FileLock fileLock = null;
try {
// dosyayı RW icin acıyoruz
file = new RandomAccessFile("C:/a.txt", "rw");
FileChannel fileChannel = file.getChannel();
// Dosya kilitleniyor
fileLock = fileChannel.tryLock();
if (fileLock != null){
System.out.println("Dosya kitli");
// Dosya okunmaya çalışılıyor
// fakat kilitli olduğu için
// Exception atıyor
FileInputStream input=null;
input = new FileInputStream("C:/a.txt");
int data = input.read();
System.out.println(data);
}
} catch (Exception exception){
exception.printStackTrace();
} finally {
if (fileLock != null){
// Dosya kiliti kaldırılıyor
fileLock.release();
}
}
}
}

Son Yorumlar