Процесс не может получить доступ к файлу, потому что другой процесс заблокировал часть, используя java.nio.channels.FileLock - PullRequest
1 голос
/ 24 октября 2019

Когда я запускаю следующую часть кода в Windows (в Linux я не получаю этот тип ошибки), я получаю исключение java.io.IOException в заголовке. Как я могу решить эту проблему? Спасибо

    RandomAccessFile randomAccessFile = null;
    try {
        randomAccessFile = new RandomAccessFile(fileToAccess, "rw");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        System.exit(-1);
    }

    FileChannel outChannel = randomAccessFile.getChannel();


    try (outChannel; FileLock fileLock = outChannel.lock()) {

        FileManagement fileManagement = new FileManagement();

         Path path = Paths.get(fileToAccess);
         List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);

        fileLock.release();

    } catch (OverlappingFileLockException | IOException ex) {
        System.err.println("Exception occured while trying to get a lock on File... " + ex.getMessage());
        System.exit(-1);
    }
...