如何打破/暂停阅读图像?

时间:2012-04-13 12:04:51

标签: java image javax.imageio

我正在创建一个显示大图像的面板。我使用ImageIO.read(URL)方法来显示图像。现在我必须添加功能来中断或暂停给定图像URL的读取过程。

我该怎么做?

BufferedImage image = null;
URL urlImage = new URL(surl);
image = ImageIO.read(urlImage);

2 个答案:

答案 0 :(得分:1)

没有任何方法可以开箱即用。你可以做的是,将它放在一个单独的线程中并停止或中断它。

请记住,Thread.stop()被标记为已弃用有充分理由并考虑可能发生的内存泄漏。顺便说一句。为什么需要添加这样的功能?

答案 1 :(得分:0)

您肯定需要另一个帖子,您可以从中关闭InputStream正在读取的ImageIO.read。所以,首先,您需要重新设计代码:

final InputStream stream = new URL(surl).openStream();
// find a way to push the 'stream' reference to the other thread
final BufferedImage image = ImageIO.read(stream); // this will block

在另一个主题中,您必须致电stream.close()