为什么使用ImageIO下载的文件比浏览器下载的文件小?

时间:2011-04-15 17:14:15

标签: java image download image-size

以下代码从指定的网址下载图片。 当从浏览器本地保存相同的图像时,它比以编程方式下载的图像大得多,大约为66%。

虽然代码没有明确指定任何有关大小的参数,但为什么下载的文件小于从浏览器下载的文件?

BufferedImage buffImage = ImageIO.read(new URL("random url to an image"));
ImageIO.write(buffImage, "jpg", new File("MyAppDl.jpg"));

编辑:很奇怪......它不一致;在不同的URL上,缩略图明显更小

2 个答案:

答案 0 :(得分:3)

只是猜测:浏览器“按原样”加载文件...您的代码将文件读入数据结构,然后再将其写入文件。最有可能的是它应用默认压缩,可能高于原始使用比率。

如果您希望原始文件不使用BufferedImageImageIO,请使用普通流读取/写入。

答案 1 :(得分:2)

ImageIO版本正在解压缩并使用不同的质量设置重新压缩。不要这样做,使用不操纵数据的常规Stream类,只需将其传递给未解释的。

相关问题