Convertir un tableau d'octets en image en Java - sans connaître le type

Sons simple droit? Utilisation

ImageIO.read(new ByteArrayInputStream(bytes));

Voici la ride. Pour une raison quelconque, il est de la détection d'un jpeg bmp, et c'est la première ImageReader retourné quand je l'appelle

ImageInputStream iis = ImageIO.createImageInputStream(new ByteArrayInputStream(bytes));
Iterator<ImageReader> readers=ImageIO.getImageReaders(iis);

Cela provoque l'image à sortir corrompu. Est-il un moyen de dire à travers java court de regarder directement les octets pour l'en-tête, et, à défaut, personne ne sait d'une bonne référence pour l'octet d'en-têtes pour les différentes images?

Laisser les gars, vous savez que je suis toujours à travailler sur ce. Je vais vous laisser savoir si/quand j'ai une réponse. Je vous remercie tous de vos réponses jusqu'à présent.

source d'informationauteur PHeath