how to implement the folder lock in java

mani picture mani · Mar 7, 2012 · Viewed 7.4k times · Source

i want lock the particular folder, and i have code but the "java.io.FileNotFoundException: (Access is denied)" error is found

public class Folder_Lock {

    public static void main(String[] args) {

    FileLock lock = null;
    FileChannel channel = null;
        try {
            // Get a file channel for the file

            File file = new File("C:\\Users\\kaizen\\Desktop\\mani1");

            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.
            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


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (lock!=null) try { lock.release(); } catch (IOException e) { }
            // Close the file
            if (channel!=null) try { channel.close(); } catch (IOException e) { }
        }

    }
}

can any one solve the issue

Answer

Rachelle Tud picture Rachelle Tud · Jan 13, 2015

You need to add an exception Handler to handle the exception. In

File file = new File("C:\\Users\\kaizen\\Desktop\\mani1.addExtension");

This will resolve your issue.