0

インターネットから画像をダウンロードし、次の方法でファイルに保存しようとしています。

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

Image(ではなく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 に答える