我正在尝试获取Image对象的真实文件大小,虽然我没有机会从HDD获取此图像以使用File:S读取它 ...好吧我按照这个逻辑方向编写代码
ByteArrayOutputStream tmp = new ByteArrayOutputStream();
try {
ImageIO.write((BufferedImage) image, "png", tmp);
} catch (IOException ex) {
}
Integer contentLength = tmp.size();
tmp.close();
...但是操作系统显示的文件大小为 65.8KB ,但在我的情况下tmp.size();
返回 63098 :(我不太确定在哪里跳过~2KB;所以我的问题是如何获得Image对象的实际文件大小?