Блокировка файла Java в Mac OS

#java #macos #file-io

#java #macos #file-io

Вопрос:

Блокировка файлов с помощью пакета java.nio отлично работает с ОС Windows, но та же программа не работает должным образом с Mac OS.

Я пытаюсь удалить заблокированный файл в Windows, где он не удаляет файл. Но то же самое, чего я пытаюсь достичь в Mac OS, где, даже если файл заблокирован или открыт FileWriter / FileOutputStream, он удаляет файл.

Есть предложения по этой проблеме? Это ошибка в реализации блокировки файлов?

Спасибо.

Ответ №1:

Это не ошибка (если вы не называете Windows ошибкой)

В системах * nix блокировки являются рекомендательными. Ничто не мешает вам удалить заблокированный файл, кроме как сначала проверить, заблокирован ли он.

В Windows это вроде как то же самое, за исключением того, что системные команды проверяют наличие блокировок и IIRC режим открытия файла по умолчанию — с эксклюзивной блокировкой.