Konwertuj i wyświetlaj obraz z tablicy bajtów

Tworzę program, który pobiera dane o obrazie w tablicy bajtów z serwera. Konwertuję te dane na format 24-bitowy BMP (czy to jpeg, png, bmp lub 8-24-32bpp). Najpierw zapisuję go w moim HD, a następnie ładuję do ikony JLabel. Działa doskonale, choć są przypadki, w których otrzymuję następujący wyjątek:

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)

Dla tej linii (druga)

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

W tych przypadkach:

obraz nie ładuje się do JLabel, ale można go znaleźć na moim HDnawrócenie nie jest właściwe, ponieważ coś „wymyka się”obraz jest podobny do kursywy w dokumencie słownym

Po pierwsze, pomyślałem, że może bpp jest problemem, wtedy pomyślałem, że może obrazy są zbyt duże, ale mam przypadki, w których działa i przypadki, których nie dotyczą obu sugestii. Jestem tu trochę utknięty i byłbym zadowolony z pomysłów.

questionAnswers(3)

yourAnswerToTheQuestion