как реализовать блокировку папки в Java - PullRequest
4 голосов
/ 07 марта 2012

Я хочу заблокировать определенную папку, и у меня есть код, но обнаружена ошибка «java.io.FileNotFoundException: (Доступ запрещен)»

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) { }
        }

    }
}

любой может решить проблему

Ответы [ 2 ]

2 голосов
/ 13 января 2015

Вам нужно добавить обработчик исключения для обработки исключения.В

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

Это решит вашу проблему.

0 голосов
/ 18 ноября 2013

попробуйте запустить вашу папку через admin или First Run IDE от имени администратора и запустить файл поскольку в C: / требуется разрешение на доступ к системе

...