3

在我用 java 开发的应用程序中,我使用 ImageIO API 来缩放图像,然后将它们写入目录,然后通知 Web 服务器图像已准备好使用。向 Web 服务器发送信号之前的最后一次调用是 ImageIO.write() 方法,但此时 Web 服务器无法找到生成的图像。(几毫秒后,Web 服务器能够看到它们。)。

我怀疑 ImageIO.write() 是异步运行的。我进行了很多搜索,但找不到 ImageIO.write() 是同步操作还是异步操作。如果 ImageIO.write() 没有阻塞程序的流程,是否有一种非黑客方式让它等到图像被写入目标目录?

4

1 回答 1

0

我无法想象这ImageIO.write不是阻塞。

我的“假设”是基于 ImageIO.write 可以抛出异常的事实,这表明,即使它在后台写入,它也需要阻塞直到写入完成才能抛出异常。

可能是缓冲问题?

尝试做一个while (!file.exits()) Thread.sleep(25)或某事有止损

于 2012-08-07T09:16:25.007 回答