java哪个类提供了获取图片所占存储空间大小?或者如何计算?求详细

2025-02-25 23:37:17
推荐回答(4个)
回答1:

图片占内存容量计算公式为:
图片所占内存大小 = 图片长度(像素) * 图片宽度(像素) * 一个像素所占内存空间(单位:字节)
一般地,一个象素所占内存空间根据机器颜色数(专业词汇叫色深Color Depth)来决定:(1)Nokia 老S40机器 颜色数为4096色,就是2^12, 一个象素所占内存空间为1.5个字节;(2)Nokia S40新版 机器和 S60机器 颜色数为65536色,就是2^16, 一个象素所占内存空间为2个字节;有些机器颜色数为26w色,就是2^18=2.2字节,1600w = 2^24=3个字节,一个象素所占内存空间为4个字节。
ps:专业名词“8位”是指所能表现的颜色深度:一个8位图像仅最多只能支持256(2^8)种不同颜色,1个字节。

回答2:

File file = new File(“f:/”,“图片.jpg”);
try {
Iterator readers = ImageIO.getImageReadersByFormatName(“jpg”);
ImageReader reader = (ImageReader) readers.next();
ImageInputStream iis = ImageIO.createImageInputStream(file);
System.out.println(iis.length()/1024+"k");//图片大小
} catch (IOException e) {
e.printStackTrace();
}

回答3:

不知道

回答4:

Java存取图片都是把图片路径存取到数据库中的么