Konvertieren und Anzeigen von Bildern aus einem Byte-Array

Ich mache ein Programm, das Daten über ein Bild in Byte-Array von einem Server abruft. Ich konvertiere diese Daten in das 24-Bit-BMP-Format (egal ob JPEG, PNG, BMP oder 8-24-32bpp). Zuerst speichere ich es auf meiner Festplatte und lade es dann in ein JLabel's Icon. Funktioniert einwandfrei, obwohl es einige Fälle gibt, in denen ich die folgende Ausnahme erhalte:

java.io.EOFException at
javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:353) at
com.sun.imageio.plugins.bmp.BMPImageReader.read24Bit(BMPImageReader.java:1188) at
com.sun.imageio.plugins.bmp.BMPImageReader.read(BMPImageReader.java:843) at
javax.imageio.ImageIO.read(ImageIO.java:1448) at 
javax.imageio.ImageIO.read(ImageIO.java:1308)

Für diese Zeile (die zweite)

File imgFile = new File("d:/image.bmp");
BufferedImage image = ImageIO.read(imgFile);

In diesen Fällen:

Das Bild wird nicht in das JLabel geladen, es befindet sich jedoch auf meiner Festplattedie umstellung ist nicht korrekt, da etwas "rutscht"Das Bild entspricht der Verwendung von Kursivschrift in einem Word-Dokument

Zuerst dachte ich, dass vielleicht das BPP das Problem ist, dann dachte ich, dass die Bilder vielleicht zu groß sind, aber ich habe Fälle, in denen es funktioniert, und Fälle, in denen es nicht für beide Vorschläge ist. Ich stecke hier ein wenig fest und würde mich über Ideen freuen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage