У меня есть макрос JEdit (BeanShell), который открывает определенный файл, а затем немедленно сохраняет файл в моей папке c: \ temp (чтобы случайно не обновить реальный файл).
Вот код оболочки бина:
logFilePath = "c:\\temp\\aj.txt";
jEdit.openFile( view , logFilePath );
_buffer = jEdit.getBuffer(logFilePath);
_buffer.save(view,"c:\\temp\\backup.txt",true);
Это дает мне следующую ошибку:
I/O Error
Each buffer can only execute one input/output operation at a time.
Please wait until the current operation finishes
(or abort it in the I/O progress monitor) before starting another one.
Я попытался добавить цикл while, чтобы дождаться истины buffer.isLoaded()
, но это просто заходит в бесконечный цикл.
Кажется, что работает - всплывающее окно сообщения ( Macros.message
). Тем не менее, я действительно не хочу иметь этот ненужный диалог.
Я не знаю много Java, поэтому, пожалуйста, скажите мне, если я делаю ошибку новичка.
Обновление:
Добавлен мой собственный ответ, чтобы показать код, на который указывает Ответ Сергея .