Преобразование и отображение изображения из байтового массива

Я делаю программу, которая получает данные об изображении в байтовом массиве с сервера. Я конвертирую эти данные в 24-битный формат BMP (будь то jpeg, png, bmp или 8-24-32bpp). Сначала я сохраняю его на своем HD, а затем загружаю в Icon JLabel. Работает отлично, хотя в некоторых случаях я получаю следующее исключение:

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)

Для этой строки (вторая)

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

В этих случаях:

изображение не загружается в JLabel, но его можно найти на моем HDпреобразование не является правильным, потому что что-то «проскальзывает»картинка как при использовании курсива в текстовом документе

Сначала я подумал, что, может быть, проблема в bpp, потом я подумал, что, возможно, картинки слишком велики, но у меня есть случаи, когда это работает, и случаи, в которых это не подходит для обоих предложений. Я немного застрял здесь и был бы рад за идеи.

Ответы на вопрос(3)

Ваш ответ на вопрос