我必须使用RenderedImages作为缓存中键的一部分(键的其余部分由X和Y坐标对组成)。
以前,我将RenderedImage包装在一个带有字符串字段文件名的自定义类中,并且只使用类的文件名/ toString()来构造一个键,但事实证明键绝对必须使用RenderedImages。
现在,我将图像写入ByteArrayOutputStream然后使用它来使用DatatypeConverter创建一个base64字符串,但是由此产生的字符串很大并且确实会降低程序的速度。
是否有一种很好的方法可以从RenderedImage创建某种字符串ID,而这种方法并不会使所有内容减慢太多?
感谢。
答案 0 :(得分:0)
您可以获取图像的内容并创建字节内容的SHA摘要或MD5校验和吗?这将是相当独特的...... 见https://howtodoinjava.com/core-java/io/how-to-generate-sha-or-md5-file-checksum-hash-in-java/ 如果扫描整个文件花费的时间太长,只需要取前n个字符吗?