我正在尝试使用 ImageIO.read 在多线程环境中从输入流中读取图像。以下是代码,
entity = httpResponse.getEntity(); //httpResponse is apache hc response object
bufImage = ImageIO.read(entity.getContent()); //reading image
基本上,我正在使用 Apache HttpClient 创建一个 HttpConnection 并将图像作为流读取,然后将其转换为 BufferedImage(bufImage)。
此代码在正常运行时工作正常。当我在多个线程中运行它时,出现以下异常,
Exception in thread "Thread-3258" java.lang.NoClassDefFoundError: Could not initialize class sun.java2d.Disposer
at javax.imageio.stream.FileCacheImageInputStream.<init>(Unknown Source)
at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)
at javax.imageio.ImageIO.createImageInputStream(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at com.example.ImgDownload.run(ImgDownload.java:60)
at java.lang.Thread.run(Unknown Source)
ImgDownload.java:60 是我使用前面提到的 ImageIO 读取的行。我该如何解决这个问题?
谢谢,阿比