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

标签 java image download image-size

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

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

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

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

最佳答案

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

如果您想要原始文件,请不要使用 BufferedImageImageIO,而是使用普通流读取/写入它。

关于java - 为什么使用 ImageIO 下载的文件比浏览器下载的文件小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5680153/

相关文章:

java - 数组中的数组?

java - 如何判断 HttpClient.execute() 何时完成获取大型请求中的所有内容?

Java 图像未出现在 JAR 文件中

css - 如何为未知大小的图像添加偏移边框?

当源为 multipart.File 时,image.Decode 的结果为 "unknown format"

javascript - D3 图表图像下载在 Firefox 中不起作用

android - Android ImageView 和 Progressbar 实现中的图像下载

Java解析器重命名变量

JavaFX 绘制图表 : how to assign values in a class

使用 HTTP Range header 的 Node.js 脚本请求导致字节数多于请求的字节数。