我有一个 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,所以如果我犯了菜鸟错误,请告诉我。
更新:
添加了我自己的答案以显示Serhii 的答案指向的代码。