Java 正在转换JPEG图像的字节数组,但扩展名错误

Java 正在转换JPEG图像的字节数组,但扩展名错误,java,image,Java,Image,我在java方法中下载了一个作为字节数组的图像文件。需要将此字节数组转换为BuffereImage InputStream inputStream = new ByteArrayInputStream(imagebyteArray); BufferedImage originalImage = ImageIO.read(inputStream); ImageIO.write(originalImage, "jpg", new File("/Users/abc/test.jpg")); 上面的代

我在java方法中下载了一个作为字节数组的图像文件。需要将此字节数组转换为BuffereImage

InputStream inputStream = new ByteArrayInputStream(imagebyteArray);
BufferedImage originalImage = ImageIO.read(inputStream);
ImageIO.write(originalImage, "jpg", new File("/Users/abc/test.jpg"));
上面的代码片段用于转换图像字节数组并写入jpeg文件。但是我得到了一个零大小的图像文件

但下载的图像有问题。图像实际上是JPEG格式,但扩展名与Image.doc一样错误


有问题吗,如果这是一个问题,是否有任何方法可以使用java2d转换图像(字节数组)的扩展,然后转换为BuffereImage?

如何创建
imagebyteArray
?是否提出了任何例外情况?考虑提供一个演示你的问题的方法,这将减少猜测工作并产生更好的响应。为什么你需要首先将图像解码为<代码> BuffeReimeS> <代码>?您是否计划以任何方式更改像素?如果没有,直接将
imagebyteArray
中的字节写入磁盘会快得多(并且您将保留元数据,否则会被剥离)。旁注,
ImageIO
不关心文件名或扩展名,只关心输入流或文件中的字节。但是有一个问题(或者写这个问题),我需要调整图像的大小,这就是我转换成BuffereImage的原因。