我猜想这行返回null:
BufferedImage input = ImageIO.read(inputFile);
文档
ImageIO.read说明:
“如果没有注册的ImageReader声称能够读取结果流,则返回null。”
空值将传递给此调用,从而导致NPE:
ImageIO.write(input,"PNG", cos);
我不熟悉此API,但是从文档和此处看到的内容中,我想我可以推断出
ImageIO.read返回null
的原因是因为它试图解释文件中的图像数据,但是不能,因为加密。您需要先解密数据,然后才能将其解释为图像。
您正在执行解密,但是格式转换使用的是原始的加密文件作为输入,而不是解密的图像数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)