我正在使用以下代码编写jpg文件:
String url="http://img01.taobaocdn.com/imgextra/i1/449400070/T2hbVwXj0XXXXXXXXX_!!449400070.jpg";
String to="D:/temp/result.jpg";
ImageIO.write(ImageIO.read(new URL(url)),"jpg", new File(to));
Run Code Online (Sandbox Code Playgroud)
但我得到的result.jpg是一个粉红色的背景图片:

我有一个从磁盘加载的图像(存储为a BufferedImage),我在a上正确显示JPanel但是当我尝试使用下面的命令重新保存此图像时,图像以红色调保存.
ImageIO.write(image, "jpg", fileName);
Run Code Online (Sandbox Code Playgroud)
注意!image是a BufferedImage,fileName是File指向将以" .jpg" 结尾保存的文件名的对象.
我已经读过ImageIO早期JDK中的方法存在问题,但就我所能找到的那样,我不在其中一个版本上.我正在寻找的是一种解决这个问题而无需更新JDK的方法,但是我已经说过我仍然想知道这个问题在JDK中修复了什么(如果它确实仍然是我正在使用的JDK的一个bug ).
谢谢.