[转发]Creating a File Lock on a File Using Jdk1.4

来源:互联网 发布:欧陆风云4 mac 中文 编辑:程序博客网 时间:2024/05/29 05:57
The behavior of the file lock is platform-dependent. On some platforms, the file lock is advisory, which means that unless an application checks for a file lock, it will not be prevented from accessing the file. On other platforms, the file lock is mandatory, which means that a file lock prevents any application from accessing the file.
    try {        // Get a file channel for the file        File file = new File("filename");        FileChannel channel = new RandomAccessFile(file, "rw").getChannel();            // Use the file channel to create a lock on the file.        // This method blocks until it can retrieve the lock.        FileLock lock = channel.lock();            // Try acquiring the lock without blocking. This method returns        // null or throws an exception if the file is already locked.        try {            lock = channel.tryLock();        } catch (OverlappingFileLockException e) {            // File is already locked in this thread or virtual machine        }            // Release the lock        lock.release();            // Close the file        channel.close();    } catch (Exception e) {    }
原创粉丝点击