Система. Ошибка IO.Exception: “Требуемая операция не может быть выполнена на файле с отображенным пользователями открытым разделом”.

Я знаю, что ничто из clojure кроме этого не походит на случай буферов, не сбрасываемых. Фигура, как промыть стандарт после печати. Функция println, вероятно, сбрасывает в конце каждой строки. Попробуйте:

(defn goo []
  (print "echo> ")
  (flush )
  (def resp (read-line))
  (print resp)
)
37
задан Donald Byrd 2 November 2010 в 19:06
поделиться

2 ответа

Похоже, другой процесс открыл файл с помощью API-интерфейсов сопоставления файлов (разделяемой памяти).

Функция поиска в Process Explorer должна сообщить вам об этом.

41
ответ дан 27 November 2019 в 04:43
поделиться

Похоже, файл, который вы пытаетесь написать, уже открыт где-то еще, либо вашим кодом, либо другим процессом.

У вас есть файл, открытый в редакторе? У вас есть другой код, который читает его, но забывает его закрыть?

Вы можете использовать Process Explorer , чтобы узнать, какой процесс имеет дескриптор открытого файла - используйте Find ] / Найти дескриптор или DLL ... команда.

10
ответ дан 27 November 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: