У меня есть макрос JEdit (BeanShell), который открывает определенный файл, а затем сразу же сохраняет файл в моей папке c:\temp (чтобы я случайно не обновил реальный файл).
Вот код оболочки bean-компонента:
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, поэтому, пожалуйста, скажите мне, если я совершаю ошибку новичка.
Обновлять:
Добавил свой собственный ответ, чтобы показать код, на который указывает ответ Сергея.