0

我正在尝试从 Internet 下载图像并使用以下方法将其保存到文件中:

private BufferedImage saveImageLocally(String remoteImageURL, String imageType, File localImage) {

    URL url = new URL(remoteImageURL);
    BufferedImage image = ImageIO.read(url);
    ImageIO.write(image, imageType, localImage);
    return image;
}

但是,我遇到了可以ImageIO.read通过以下方式解决的问题:

Image image = Toolkit.getDefaultToolkit().createImage(url);

改为读取图像。但是,我不能使用ImageIO.write将图像保存到文件,因为第一个参数必须是RenderedImage.

有没有办法将 a Image(而不是 a BufferedImage)保存到文件中?

4

1 回答 1

4
        URL url = new URL(imageUrl);
        InputStream is = url.openStream();
        OutputStream os = new FileOutputStream(destinationFile);

        byte[] b = new byte[2048];
        int length;

        while ((length = is.read(b)) != -1) {
            os.write(b, 0, length);
        }

        is.close();
        os.close();
于 2012-07-31T15:20:57.870 回答