Java 将下载的图像保存到文件
我正在尝试从Internet下载图像,并使用以下方法将其保存到文件中:Java 将下载的图像保存到文件,java,image,Java,Image,我正在尝试从Internet下载图像,并使用以下方法将其保存到文件中: private BufferedImage saveImageLocally(String remoteImageURL, String imageType, File localImage) { URL url = new URL(remoteImageURL); BufferedImage image = ImageIO.read(url); ImageIO.write(image, image
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
将图像保存到文件中,因为第一个参数必须是renderimage
有没有办法将
图像
(与缓冲图像
)保存到文件中?文件是一个文件,图像与否,您不能将其作为流读取并保存,我缺少什么。关于它的价值,请看我下面的回复。一个文件就是一个文件,不管是不是图像,你不能把它读成一个流,然后保存它,我缺少什么。关于它的价值,请看下面我的回答。
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();